2013-12-23 39 views
0

我有一樣的菜單:使用Javascript - 如果存在子菜單

<ul class="product-categories"> 
<li> 
    <a href="http://...">Test</a> 
    <ul class="children"> 
    <li><a href="http://...">Test2</a></li> 
    </ul> 
    </li> 
    <li><a href="http://...">Test3</a></li> 
</ul> 

和文字:

jQuery(function() { 
    jQuery('.product-categories>li>ul').hide(); 
    if (jQuery('.product-categories>li').find('ul.children').length > 0) { 
     jQuery(this).find('a').removeAttr('href'); 
     jQuery('.product-categories>li').on('click', function() { 
      jQuery(this).find('ul').slideToggle(500) 
       .siblings().find('ul:visible').slideUp(500); 
      jQuery(this).toggleClass("active"); 
     }); 
    } 
}); 

我有問題的JavaScript。我想查看是否子菜單比刪除父鏈接鏈接和點擊顯示/隱藏子菜單。有人可以幫助該代碼?

如果我改變:

jQuery(this).find('a').removeAttr('href'); 

到:

jQuery('.product-categories>li>a').removeAttr('href'); 

它刪除的Attr href所有父li環節,不僅在那裏,如果工作。

我剛剛創建的代碼(和顯示/隱藏工作,但我不知道如何刪除鏈接只有當子菜單):

jQuery('.product-categories>li>ul').hide(); 
jQuery('.product-categories>li').children('a').removeAttr('href');  
jQuery('.product-categories>li').on('click',function(){ 
    if (jQuery(this).find('ul.children').length > 0) { 
    jQuery(this).find('ul').slideToggle(500) 
      .siblings().find('ul:visible').slideUp(500); 
    jQuery(this).toggleClass("active"); 
    } 
});  
+0

哪個元素使用類'。產品-categories'? – Teemu

+0

'jQuery的( 'UL利UL')。PREV( 'A')。removeAttr( 'href' 屬性)'? – putvande

+0

putvande,我搜索!謝謝。 ;) –

回答

0

你可以這樣做:jQuery('ul li ul').prev('a').removeAttr('href')。 它檢查,如果你有嵌套ul,並移除a標籤在這之前ul屬性。

相關問題