Javascript 名称未定义错误
我正在创建一个div,并在它的onclick函数中调用Javascript 名称未定义错误,javascript,jquery,Javascript,Jquery,我正在创建一个div,并在它的onclick函数中调用函数Remove(),将其id和名称传递给它。但是当我在remove函数中使用name时,会抛出一个未定义的错误。例如,我调用Remove(1,xyz),然后在Remove函数中,我无法访问xyz;它向我显示未定义的xyz 下面是我的jQuery代码,它调用Remove函数: $("#h2-"+id).append("<div id = 'c2-"+id+"' onclick = 'Remove("+id+","+name+")' cl
函数Remove()
,将其id和名称传递给它。但是当我在remove函数中使用name
时,会抛出一个未定义的错误。例如,我调用Remove(1,xyz)
,然后在Remove
函数中,我无法访问xyz
;它向我显示未定义的xyz
下面是我的jQuery代码,它调用Remove
函数:
$("#h2-"+id).append("<div id = 'c2-"+id+"' onclick = 'Remove("+id+","+name+")' class='clear_btn1'> </div>");
function Remove(i, name){
alert("I am deleting " +name);
var sender = "<?php echo $user_check?>";
var receiver = name;
console.log("Name is " +sender);
console.log("receiver is " +receiver);
}
i
的值非常好,但我无法在我的函数中访问name
。单击onclick
中保存的实际上是删除(id,name)
。乍一看这没问题,但是
说id=10
和name=“Mark”
您将调用Remove(10,Mark)
,这不是您想要的<代码>标记
将被视为变量。因此,您需要在名称后面加上引号,以便将其视为字符串
当然,您应该避免添加额外的引号
您需要调用
Remove(10,“Mark”)
。请注意引号。按如下方式更改代码
$("#h2-"+id).append("<div id = 'c2-"+id+"' onclick = \"Remove("+id+",'"+name+"')\" class='clear_btn1'>sdfsdf sdfsdf</div>");
$(“#h2-”+id).append(“sdfsdf sdfsdf”);
你能提供JSFIDLE吗?请转到页面源代码,试着了解onclick='Remove('','')'中的确切呈现值是什么,
并且你可以在Chromewell中使用Inspect元素,你的div
没有名称
是的,通过检查元素我得到了Remove函数作为Remove(1,Mark)而不是Remove(1,“Mark”)。这是我无法在函数中访问名称的原因。Prog为我提供了解决方案。