将菜单链接网址更改为#

时间:2018-12-14 11:02:37

标签: jquery

下面的代码在第一个下拉菜单中正常工作(将第一个锚定网址更改为#),但在第二个下拉菜单中却无效:

if($(window).width() >= 1000){
$('#main-menu li:has(.dropdown-menu)').hover(function (event) {
if ($(event.target).parents('.dropdown-menu').length > 0) {
    event.stopPropagation();      
} else {
  $(this).find('a:first').attr('href','#');
   event.preventDefault();
} 
});
}

输出:

<ul id="main-menu">
<li><a href="#">Uudised</a>
<ul class="dropdown-menu">
<li><a href="https://eoy.ee/oosorr/uudised/?c=sorri-aasta-uudised">Sorri aasta uudised</a></li>
<li><a href="https://eoy.ee/oosorr/uudised/?c=teadusuudised">Teadusuudised</a>
<ul class="dropdown-menu">
<li><a href="https://eoy.ee/oosorr/uudised/?c=content">Content</a></li>
<li><a href="https://eoy.ee/oosorr/uudised/?c=site-design">Site design</a</li>
</ul>
</li>
</ul>
</li>
</ul>

但是我想要:

<ul id="main-menu">
<li><a href="#">Uudised</a>
<ul class="dropdown-menu">
<li><a href="https://eoy.ee/oosorr/uudised/?c=sorri-aasta-uudised">Sorri aasta uudised</a></li>
<li><a href="#">Teadusuudised</a>
<ul class="dropdown-menu">
<li><a href="https://eoy.ee/oosorr/uudised/?c=content">Content</a></li>
<li><a href="https://eoy.ee/oosorr/uudised/?c=site-design">Site design</a</li>
</ul>
</li>
</ul>
</li>
</ul>

尝试了这个,但不起作用:

   $('#main-menu li:has(.dropdown-menu),#main-menu > li > ul > li:has(.dropdown-menu)').hover(function (event) {....

1 个答案:

答案 0 :(得分:0)

您正在使用$(this).find('a:first')查找列表中的第一个元素。尝试从中删除':first',看看是否有帮助。