我在jquery中生成了一些行。我想从另一个jquery函数调用myid。这可能吗。我的代码在下面
<html>
<head><title></title>
<body>
<div id="body"></div>
</body>
</html>
<script>
$(document).ready(function()
{
$("#body").append("<table><tr><td id="myid">Value1</td><tr/></table>");
$("#body").find("#myid").click(function(){
alert("value is clicked");
});
});
</script>
但它不起作用。任何人都可以帮助解决我的问题。
答案 0 :(得分:1)
您应该使用.on()
将事件附加到动态创建的元素。试试这个:
$("#body").on('click','#myid',function(){
alert("value is clicked");
});
<强> DEMO 强>
答案 1 :(得分:0)
试试这个
$(document).ready(function()
{
$("#body").append("<table><tr><td id='myid'>Value1</td><tr/></table>");
});
$("#body").on('click','#myid',function(){
alert("value is clicked");
});
答案 2 :(得分:0)
我认为您的代码看起来不错,但您可能会收到错误,因为您在表格html字符串(这是一个双引号字符串)中使用双引号(&#34;),所以基本上是:
"this is a "simple" string"
|----------|xxxxxx|-------|
在上面的示例中,simple
不是字符串的一部分,并且是无效的JavaScript语法。您有两种选择:
"this 'is' a valid string"
或'this "is" a valid string'
都是有效字符串"this \"is\" a valid string"
希望这有帮助。
答案 3 :(得分:0)
你的作业错误 -
$("#body").append("<table><tr><td id="myid">Value1</td><tr/></table>");
如果不使用转义字符(\)
,则无法在“其他内部”使用
所以你写 -
$("#body").append("<table><tr><td id='myid'>Value1</td><tr/></table>");
或
$("#body").append("<table><tr><td id=\"myid\">Value1</td><tr/></table>");