从点击处理程序中排除特定 class 名称
Exclude specific class name from click handler
如何向 <li>
个 不 具有特定 class 的元素添加点击处理程序?
我想做这样的事情:
$('ul.listClass li a :not(li.thisLi)').on("click")...
你的:not
选择器放错了地方,你应该在li上使用它。
$('ul li:not(.thisLi) a').on('click', ...);
将 :not()
应用于选择器的 li
部分并指定要排除的 class 选择器。
$('ul.listClass li:not(.thisLi) a')
这转化为:
Select [<a>
] 在 [<li>
里面没有 class "thisLi"] 在 [<ul>
里面有 class "listClass"]
参考 jQuery 的 :not() selector。
All selectors are accepted inside :not()
$('ul.listClass li:not(.thisLi) a').on("click", function() {
$(this).css({
'background-color': 'red'
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="listClass">
<li><a>Yes</a></li>
<li><a>Yes</a></li>
<li class="thisLi"><a>No</a></li>
<li><a>Yes</a></li>
<li class="thisLi"><a>No</a></li>
</ul>
我刚刚使用 jquery 的 .not 方法找到了答案。
对我有用。
如何向 <li>
个 不 具有特定 class 的元素添加点击处理程序?
我想做这样的事情:
$('ul.listClass li a :not(li.thisLi)').on("click")...
你的:not
选择器放错了地方,你应该在li上使用它。
$('ul li:not(.thisLi) a').on('click', ...);
将 :not()
应用于选择器的 li
部分并指定要排除的 class 选择器。
$('ul.listClass li:not(.thisLi) a')
这转化为:
Select [<a>
] 在 [<li>
里面没有 class "thisLi"] 在 [<ul>
里面有 class "listClass"]
参考 jQuery 的 :not() selector。
All selectors are accepted inside :not()
$('ul.listClass li:not(.thisLi) a').on("click", function() {
$(this).css({
'background-color': 'red'
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="listClass">
<li><a>Yes</a></li>
<li><a>Yes</a></li>
<li class="thisLi"><a>No</a></li>
<li><a>Yes</a></li>
<li class="thisLi"><a>No</a></li>
</ul>
我刚刚使用 jquery 的 .not 方法找到了答案。
对我有用。