Javascript 仅在<;的第一级子级上应用JQuery;ul>;特定阶级的
如何从这样的列表中仅选择父级的链接元素Javascript 仅在<;的第一级子级上应用JQuery;ul>;特定阶级的,javascript,jquery,Javascript,Jquery,如何从这样的列表中仅选择父级的链接元素 <ul class="catlist"> <li><a href="#">Link</a></li> <li><a href="#">Link</a> <ul class="sublist"> <li><a href="#">Link</a></li&g
<ul class="catlist">
<li><a href="#">Link</a></li>
<li><a href="#">Link</a>
<ul class="sublist">
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
使用直接后代选择器
$('ul.catlist > li').click(function() {
// Do something
});
或者,您也可以使用子项
$('ul.catlist').children('li').click(function() {
另外,需要阻止其他子代li
s的事件冒泡,以便直接子代的事件处理程序不会触发
$('ul.catlist > li li').on('click', function (e) {
return false; // e.stopPropagation();
});
使用直接后代选择器
$('ul.catlist > li').click(function() {
// Do something
});
或者,您也可以使用子项
$('ul.catlist').children('li').click(function() {
另外,需要阻止其他子代li
s的事件冒泡,以便直接子代的事件处理程序不会触发
$('ul.catlist > li li').on('click', function (e) {
return false; // e.stopPropagation();
});
你需要手动处理这个案子
$('ul.catlist > li').click(function (e) {
if ($(e.target).closest('ul').hasClass('catlist')) {
console.log('clicked')
}
});
另一种选择是停止从内部
li
元素传播事件
$('ul.catlist > li').click(function (e) {
//do something
});
$('ul.catlist ul').click(function (e) {
e.stopPropagation();
});
你需要手动处理这个案子
$('ul.catlist > li').click(function (e) {
if ($(e.target).closest('ul').hasClass('catlist')) {
console.log('clicked')
}
});
另一种选择是停止从内部
li
元素传播事件
$('ul.catlist > li').click(function (e) {
//do something
});
$('ul.catlist ul').click(function (e) {
e.stopPropagation();
});
传播呢传播呢