无法使用子选择器定位特定的 LI 元素
Can't target specific LI elements using child selectors
我只是不知道我做错了什么。
$('ul.list > li:not(.sublist)').click(function() {
alert("working now");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="list">
<li>One</li>
<li class="special">Two</li>
<li>Three</li>
<li>
<ul class="sublist">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
</ul>
我正在尝试仅 select 来自 class(.list) 的 LI 元素。 class(.sublist) 的子列表总是在我 click.Eeverything 我点击给我警报时被激活。这不是我想要的。我很沮丧,因为我知道答案很简单,但我就是想不通。
我也试过用这个:
$('ul.list li').not('.sublist').click(function(){
alert('working');
});
使用 direct child combinator, >
,以便仅 select 直接子元素:
ul.list > li
但由于这仍然是 select 包含 .sublist
元素的 li
,请结合使用 :not()
/:has()
select 或:
$('ul.list > li:not(:has(.sublist))').on('click', function () {
// ...
});
$('ul.list > li:not(:has(.sublist))').on('click', function () {
alert('working');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="list">
<li>One</li>
<li class="special">Two</li>
<li>Three</li>
<li>
<ul class="sublist">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
</ul>
我只是不知道我做错了什么。
$('ul.list > li:not(.sublist)').click(function() {
alert("working now");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="list">
<li>One</li>
<li class="special">Two</li>
<li>Three</li>
<li>
<ul class="sublist">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
</ul>
我正在尝试仅 select 来自 class(.list) 的 LI 元素。 class(.sublist) 的子列表总是在我 click.Eeverything 我点击给我警报时被激活。这不是我想要的。我很沮丧,因为我知道答案很简单,但我就是想不通。
我也试过用这个:
$('ul.list li').not('.sublist').click(function(){
alert('working');
});
使用 direct child combinator, >
,以便仅 select 直接子元素:
ul.list > li
但由于这仍然是 select 包含 .sublist
元素的 li
,请结合使用 :not()
/:has()
select 或:
$('ul.list > li:not(:has(.sublist))').on('click', function () {
// ...
});
$('ul.list > li:not(:has(.sublist))').on('click', function () {
alert('working');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="list">
<li>One</li>
<li class="special">Two</li>
<li>Three</li>
<li>
<ul class="sublist">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
</ul>