如果li有子li,则jQuery返回false

时间:2015-02-27 09:53:24

标签: jquery

我有无序列表我写了一个jQuery代码来禁用链接,如果它的li有孩子(ul li),但它无法正常工作

jQuery代码

    $(document).ready(function() {
     $('.sidebarnew > ul > li > a').click( function(){
        maincat = $(this).parent();
        if (maincat.children('li').length){
            maincat.find('>a')(function(){
                return false;
                });
            }
      });

   });

HTML

    <div class="sidebarnew">
  <ul>
    <li>
    <a href="products.php?category_id=1">Products
    <i class="icon-angle-down float-right"></i></a>
      <ul>
        <li> 
        <a href="products.php?category_id=3">Outdoor Furniture</a>
        </li>
      </ul>
    </li>
    <li> 
    <a href="products.php?category_id=27">New Cat
    <i class="icon-angle-down float-right"></i></a>
      <ul>
      </ul>
    </li>
  </ul>
</div>

1 个答案:

答案 0 :(得分:2)

你可以做到

$(document).ready(function () {
    $('.sidebarnew > ul > li').has('li').children('a').click(function () {
        return false;
    });
});

演示:Fiddle


或简化版

$(document).ready(function () {
    $('.sidebarnew > ul > li:has(li) > a').click(function () {
        return false;
    });
});