javascript - 选择多个 li,它是使用 jquery 的第一个 child

标签 javascript jquery html css

我正在尝试将 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/

相关文章:

javascript - 单击 map 外的按钮时,为所选图层打开 jquery ui 对话框

javascript - 将 php 变量从按钮传递到 Bootstrap 模式,单击无 ajax

javascript - 如何在window.open方法中传递参数?

javascript - 迭代对象数组并更新属性

jquery - slideToggle 对我的 ul slideToggle 有橡皮筋效果(jQuery 帮助)

JavaScript:动态创建的类似 html 的字符串不会转换为 html

javascript - Firebase + REST + jquery 产生奇怪的键

javascript - 如何在jquery中使用鼠标位置移动溢出的元素

javascript - 在 HTML 表单中使用 JQuery 动态下拉菜单 (PHP)

javascript - jQuery 对具有不同类型列(例如文本、数字和日期)的 html 表进行排序 :