在动态创建的html中调用javascript函数
我有一个Java脚本文件,如下图所示。在动态创建的html中调用javascript函数,javascript,jquery,html,Javascript,Jquery,Html,我有一个Java脚本文件,如下图所示。 在这个文件中,我为我的网页创建了一个html代码,在这个html中我调用了一个函数 在Java脚本文件中定义。 但是当我运行它时,我发现函数没有定义。 其他信息: 另外,前面提到的函数(“cButton”)是在java脚本文件中的另一个函数中定义的 (function () { var thecid = 0; function cButton (ii) { document.getElementById(ii).sty
在这个文件中,我为我的网页创建了一个html代码,在这个html中我调用了一个函数 在Java脚本文件中定义。 但是当我运行它时,我发现函数没有定义。
其他信息: 另外,前面提到的函数(“cButton”)是在java脚本文件中的另一个函数中定义的
(function () {
var thecid = 0;
function cButton (ii) {
document.getElementById(ii).style.display = 'none';
alert('fdgfg');
}
$("#subber").on("click", function () {
var thelm = "#c0"+thecid;
var newcommhtml = '<div id="c0' + thecid + '" class="cnew clearfix">';
var ii='c0'+thecid;
newcommhtml += '<section class="c-content">';
newcommhtml += '<a href="#" onclick="cButton(\'' + ii + '\');" style="color:black;">x</a>';
newcommhtml += '<p>' + nl2br(textval) + '</p> </section></div>';
});
})()
(函数(){
var-thecid=0;
功能按钮(二){
document.getElementById(ii).style.display='none';
警报(“fdgfg”);
}
$(“#子项”)。在(“单击”,函数(){
var thelm=“#c0”+该ID;
var MHTML='';
var ii='c0'+thecid;
MHTML+='';
MHTML+='';
newcommhtml+=''+nl2br(textval)+'';
});
})()
要使onclick
工作,您需要将cButton()
作为全局窗口对象的属性进行全局访问
将代码更改为:
window.cButton = function(ii) {
...
}
问题在于,您正在文档就绪处理程序内部定义
cButton
,因此它不存在于该处理程序之外。如果您在外部声明函数,那么以后可以访问它
function cButton(ii){
document.getElementById(ii).style.display = 'none';
alert('fdgfg');
}
(function(){
var thecid = 0;
$("#subber").on("click", function(){
var thelm = "#c0"+thecid;
var newcommhtml = '<div id="c0'+thecid+'" class="cnew clearfix">';
var ii='c0'+thecid;
newcommhtml += '<section class="c-content">';
newcommhtml += '<a href="#" onclick="cButton(\''+ii+'\');" style="color:black;">x</a>';
newcommhtml += '<p>'+nl2br(textval)+'</p> </section></div>';
});
})()
功能按钮(二){
document.getElementById(ii).style.display='none';
警报(“fdgfg”);
}
(功能(){
var-thecid=0;
$(“#子项”)。在(“单击”,函数(){
var thelm=“#c0”+该ID;
var MHTML='';
var ii='c0'+thecid;
MHTML+='';
MHTML+='';
newcommhtml+=''+nl2br(textval)+'';
});
})()
为什么用代码图片而不是代码本身??请用代码代替图片或者我觉得更舒服是的,非常感谢,实际上阿切尔的建议也行,但我更喜欢这个答案,因为它比较短。这行得通,谢谢你,但我不得不接受techfoobar的答案,因为它比较短:)不用担心——很高兴你把它整理好了。我只是想进一步解释:)