gpt4 book ai didi

jQuery 选择器仅在第一级不起作用?

转载 作者:行者123 更新时间:2023-12-01 03:40:39 26 4
gpt4 key购买 nike

我有一个带有子列表的简单列表

<div id="master">
<ul>
<li><div>Trigger Me!</div></li>
<li><div>Trigger Me!</div></li>
<li><div>Trigger Me!</div>
<ul>
<li><div>Do NOT trigger me</div></li>
<li><div>Do NOT trigger me</div></li>
</ul>
</li>
</ul>

我只想在用户单击第一级的列表元素时调用函数,但单击第二级的列表元素。关于文档和谷歌,通过使用选择器中的“>”,技巧应该很容易:

$(document).ready(function(){
$("div#master").on("click", "ul > li", function (){
alert($(this).text());
});
});

但是正如您在 JSFiddle http://jsfiddle.net/kQH4x/ 上看到的那样当单击子列表项时,它还会触发触发器。

stackoverflow 上的答案的类似问题(参见此处 https://stackoverflow.com/a/977891/1099519 )似乎由于某种原因不起作用?

谢谢

最佳答案

它也会在子列表上触发,因为您没有指定它应该从哪个 ul 开始。子列表具有相同的结构,因此也符合选择器的条件。

要解决此问题,请将主列表父元素添加到选择器,因此:

$(document).ready(function(){
$("div#master").on("click", ">ul>li>div", function (){
alert($(this).text());
});
});

fiddle :http://jsfiddle.net/kQH4x/6/

关于jQuery 选择器仅在第一级不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21334919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com