javascript - 单击 anchor 时,如何定位没有任何 UL 的 LI

标签 javascript jquery html css wordpress

我有一个简单的菜单, anchor 内有一个箭头。我有 jQuery,它添加了一个类以在单击时显示箭头。但是,如果单击的 li a 没有子菜单,我需要它在单击时不“显示箭头”。这是我的菜单的粗略示例:

<ul id="menu">
    <li><a href="#">TopLevel_LinkOne <img src="img/down-carat.png" class="down-carat"></a></li>
    <li><a href="#">TopLevel_LinkTwo <img src="img/down-carat.png" class="down-carat"></a></li>
    <li><a href="#">TopLevel_LinkThree <img src="img/down-carat.png" class="down-carat"></a>
        <ul class="sub-menu">
            <li><a href="#">Submenu Link One <img src="img/down-carat.png" class="down-carat"></a></li>
            <li><a href="#">Submenu Link Two <img src="img/down-carat.png" class="down-carat"></a></li>
            <li><a href="#">Submenu Link Three <img src="img/down-carat.png" class="down-carat"></a></li>        
        </ul>   
    </li>        
</ul>

在此示例中,如果单击“TopLevel_LinkOne”或“TopLevel_LinkTwo”,我不希望显示箭头。我无法删除箭头图像,因为它是由 Wordpress 中的导航器自动添加的。

这是我的 jQuery:

$('#menu li a').click(  
function() {
    $('ul li a').removeClass('show-arrow'); // Remove any previous arrows
        if('some jquery here that checks if THIS has submenu') {
          $(this).addClass('show-arrow'); // Show the arrow image
        }
 });    

最佳答案

试试这个:

 if($(this).parent().find('ul').length) {
      $(this).addClass('show-arrow'); // Show the arrow image
 }

关于javascript - 单击 anchor 时,如何定位没有任何 UL 的 LI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23518515/

相关文章:

javascript - 使用 babelify 转译异步函数,不超过 npm

jquery - 与未在实时站点上执行的 jQuery 脚本发生冲突

jquery - 如何在 jQuery UI 对话框中返回值?

html - 添加悬停效果时响应列不起作用

html - 在razor中添加不带br的元素

javascript - 通过改变div的背景图像来实现动画

javascript - JQuery:如何获取 DOM 树中所有最底层的 child ?

javascript - 将对象存储在 JSON 中以输出到 NgxData-Table 中

javascript - 为什么我的 SVG 组上没有触发 click 事件?

javascript - 模态/灯箱打开时如何停止背景滚动体