<ul id="parent">
</ul>
<script>
var li =$('<li onclick="clicked(this)"/>').appendTo($('#parent'));
var span=$('<span/>').text('first').appendTo(li);
var ul1=$('<ul onclick="clicked(this)"/>').appendTo(li);
var li1=$('<ul onclick="clicked(this)"/>').appendTo(ul1);
var span1=$('<span/>').text('second').appendTo(li1);
function clicked(ref)
{
alert($(ref).children('span').text());
}
</script>
我的问题是,当我单击第二个时,警报框会弹出两次,并显示第一个和第二个。但我只想要第二个。
我怎样才能只引用li1
。
最佳答案
您正在将 li1
作为子项添加到另一个 li。我不知道这是否是您想要的,但您不应该这样做。这也是您收到两个警报的原因。两个 onclick 处理程序都会被触发。
关于javascript - 动态创建列表的 this 选择器也引用父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17874038/