Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在动态创建的html中调用javascript函数_Javascript_Jquery_Html - Fatal编程技术网

在动态创建的html中调用javascript函数

在动态创建的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

我有一个Java脚本文件,如下图所示。
在这个文件中,我为我的网页创建了一个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的答案,因为它比较短:)不用担心——很高兴你把它整理好了。我只是想进一步解释:)