jquery:从菜单项中删除子菜单

时间:2016-06-29 08:27:08

标签: jquery

简单请求:从第一个和第四个主菜单项中删除/删除子菜单。我不工作的代码:

$('#main-menu ul li(:nth-child(1),:nth-child(4))').remove(.dropdown-menu);

由于菜单的html很长,我只会在此处插入一部分,整体可用https://drive.google.com/open?id=0BxecISV9lD7CZDNVSTFoZHA2RlU

HTML:

<div id="main-menu">
  <ul>
    <li>
      <a href="#">Piirissaar</a>
      <ul class="dropdown-menu">
        <li><a href="#">Welcome to Your Site!</a></li>
      </ul>
    </li>
    <li>
      <a href="#">Kasulik info</a>
      <ul class="dropdown-menu">
        <li><a href="#">Toitlustus</a></li>
        <li><a href="#">Majutus</a></li>
      </ul></li>
    <li><a href="#">Puhkajale</a></li>
    <li>
      <a href="#">Meist</a>
      <ul class="dropdown-menu">
        <li><a href="#">MTÜ Piirissaare Turism</a></li>
      </ul>
    </li>
  </ul>
</div>

4 个答案:

答案 0 :(得分:2)

为什么要使用jq呢?你可以用css
只需添加:

#main-menu ul li:first-child ul,#main-menu ul li:nth-child(4) ul { 
display:none
}

加上我将{display:block}添加到#main-menu ul ul,以便您可以看到它正在工作

点击此处 jsfiddle

或者如果您真的想使用jq,请参阅此处: jsfiddle

jq代码:

$('#main-menu ul li:nth-child(1),#main-menu ul li:nth-child(4)').find('ul').remove();

答案 1 :(得分:1)

首先你会错过一些引用:

remove(.dropdown-menu)

应该是

remove('.dropdown-menu')

除此之外,我会删除以下内容:

$('#main-menu ul li').eq(3).find('.dropdown-menu').remove();

希望这会有所帮助

答案 2 :(得分:0)

 $('#main-menu ul li:nth-child(1)').remove();
$('#main-menu ul li:nth-child(4)').remove();

供参考https://plnkr.co/edit/7evgZcNKKajb7Lb8PY9v?p=preview

答案 3 :(得分:0)

看起来你不应该使用任何JavaScript。但是如果你不得不这样做,尽量不要将它与CSS混合太多,首先,检查语法!

var lis = $('#main-menu').find('ul').find('li');
lis.eq(0).remove('.dropdown-menu');
lis.eq(3).remove('.dropdown-menu');

如果你没有OrderedList,你甚至可以省略.find('ul')。