我正在尝试将 onclick
事件添加到特定 li
的标签中,该标签位于 ul
和 id 下#nav
.
HTML 结构:
<ul id="nav">
<li><a href="#">link1</a></li>
<li>
<a href="#">link2</a>
<ul>
<li><a href="#">innerlink1</a></li>
<li><a href="#">innerlink2</a></li>
</ul>
</li>
<li><a href="#">link3</a></li>
<li>
<a href="#">link4</a>
<ul>
<li><a href="#">innerlink1</a></li>
<li><a href="#">innerlink2</a></li>
</ul>
</li>
</ul>
查询
$( document ).ready(function() {
$("ul#nav li").eq(1).children().first().click(function(){
$(this).attr('onclick', 'return false;');
return false;
});
$("ul#nav li").eq(5).children().first().click(function(){
$(this).attr('onclick', 'return false;');
return false;
});
});
如果您看到,我正在编写 jQuery 两次以选择 li
元素的 a 元素,该元素内部有另一个 ul
并添加 onclick
事件给它。这工作正常。但是有没有办法减少我的代码并使其更干净?
最佳答案
所以您不希望包含 ul 子级的 li 触发点击事件,所以我认为它会像这样
$('#nav li:has(>ul)').click(function (event) {
event.preventDefault();
alert('click');
});
可以在这里找到 fiddle :http://jsfiddle.net/552T4/3/
关于javascript - 选择多个 li,它是使用 jquery 的第一个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23060369/