如何仅对具有子列表的列表进行更改?

时间:2015-06-08 14:35:23

标签: jquery html

我有一份清单。我想删除li ul > li的链接地址,并保留没有子列表的列表的链接。 例如:“Home”应该是一个链接,并且“FRANCHISING”应该在页面中打开(就像现在一样)而不是将我发送到另一个页面。

http://jsfiddle.net/yj6pL160/

$(document).ready(function () {
    $('#nav > ul > li > ul').hide();
    if ($('#nav > ul > li').has('ul')) {
        $('#nav > ul > li > a').removeAttr("href");
    }
    $('#nav > ul > li').click(function () {
        $(this).children('ul').slideToggle();
    });
});

1 个答案:

答案 0 :(得分:0)

您可以尝试此功能:

它选择列表作为子项的所有列表元素。然后选择直接锚点子节点(因此不是子列表中的锚点)并删除href属性。

$(document).ready(function () {
    $('#nav > ul > li > ul').hide();
    $('#nav > ul > li').has('ul').find('>a').removeAttr("href");

    $('#nav > ul > li').click(function () {
        $(this).children('ul').slideToggle();
    });
});

Updated Fiddle