如何在查询中调用标记的id

时间:2014-05-17 04:57:37

标签: jquery html onclick

我在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>

但它不起作用。任何人都可以帮助解决我的问题。

4 个答案:

答案 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");
});

DEMO

答案 2 :(得分:0)

我认为您的代码看起来不错,但您可能会收到错误,因为您在表格html字符串(这是一个双引号字符串)中使用双引号(&#34;),所以基本上是:

"this is a "simple" string"
|----------|xxxxxx|-------|

在上面的示例中,simple不是字符串的一部分,并且是无效的JavaScript语法。您有两种选择:

  1. 替代使用&#34;与&#39;,例如"this 'is' a valid string"'this "is" a valid string'都是有效字符串
  2. 转义双引号字符,例如"this \"is\" a valid string"
  3. 希望这有帮助。

答案 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>");