使用 jQuery 检查 li 元素是否有任何具有值的子元素

萨提亚

我需要检查每个 li 元素是否有任何值或不使用 jQuery。我在下面提供我的代码。

$("#navbarNavDropdown ul a").each(function() {
  if ($(this).find('li').has("ul").length) {
    alert('Yeah, we have a ul ' + $(this).text());
  } else {
    alert('Yeah, we dont have a ul ' + $(this).text());
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="navbar-toggleable-sm collapse navbar-collapse justify-content-end" id="navbarNavDropdown">
  <ul>
    <li><a href="#">Level 1</a>
      <ul>
        <li><a href="#">Level 2<span class="caret" data-toggle="dropdown"><i class="fa fa-caret-down" aria-hidden="true"></i></span></a>
          <ul class="dropdown-menu s-drop">
            <li><a href="/vocational-school-programs/fl/jacksonville">Jacksonville</a></li>
          </ul>
        </li>
      </ul>
    </li>
    <li class="dropdown mega-drop pstatic">
      <a href="/admissions" class="mainmenuitem">Admissions<span class="caret" data-toggle="dropdown"><i class="fa fa-caret-down" aria-hidden="true"></i></span></a>
    </li>
  </ul>
</div>

我的要求是:假设在循环内第一个 li 元素有一些 children( ul) 值,我想打印文本,而第二个li元素没有子元素( ul),因此它将属于 else 部分。如果还检查是否submenu(i.e-Level 2)有任何ul价值。我的代码没有按预期工作。

凯蒂·昌达

这将解决您的问题。

$("#navbarNavDropdown ul li").each(function() {
  if ($(this).find("ul").length) {
    alert('Yeah, we have a ul ' + $(this).text());
  } else {
    alert('No, we dont have a ul ' + $(this).text());
    $(this).find('span').remove();
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="navbar-toggleable-sm collapse navbar-collapse justify-content-end" id="navbarNavDropdown">
  <ul>
    <li><a href="#">Level 1</a>
      <ul>
        <li><a href="#">Level 2<span class="caret" data-toggle="dropdown"><i class="fa fa-caret-down" aria-hidden="true"></i></span></a>
          <ul class="dropdown-menu s-drop">
            <li><a href="/vocational-school-programs/fl/jacksonville">Jacksonville</a></li>
          </ul>
        </li>
      </ul>
    </li>
    <li class="dropdown mega-drop pstatic">
      <a href="/admissions" class="mainmenuitem">Admissions<span class="caret" data-toggle="dropdown"><i class="fa fa-caret-down" aria-hidden="true"></i></span></a>
    </li>
  </ul>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用jQuery检查是否有任何祖先类

如何检查<li>元素是否具有特定值

我可以使用jQuery检查元素是否具有特定类并仅编辑该元素吗?

如何使用jQuery检查数组中的所有元素

如何使用jQuery检查具有相同类的多个元素?

如何使用JQuery替换<ul>的所有<li>元素?

使用jquery检查元素是否没有子元素

使用ES6检查NodeList中的任何元素是否具有特定的类

使用jQuery检查table th是否具有属性值

jQuery检查元素是否具有同级

如何使用jQuery检查html元素中具有ID的类是否已更改

使用jQuery确定是否任何后续元素具有特定的数据属性

使用jQuery检查是否有新元素

如何使用BeautifulSoup检查html是否具有head元素。

遍历Div并使用jquery检查check子元素是否

如何使用jQuery或JavaScript动态检查元素是否具有多个类

如何使用JavaScript或jQuery在检查单选上显示/隐藏<li>

使用jQuery访问<li>元素

检查是否使用jQuery选择了所有具有相似ID的元素

如何使用jQuery检查子元素是否没有类

如何检查ul是否具有jQuery的特定li?

使用jQuery确定元素是否具有特定的后代元素

jQuery:检查元素是否具有特定样式(不是内联)

检查XML元素是否具有子元素或值

jQuery 检查输入是否与具有相同类的元素相同

如何使用Jquery检查Rails中具有相同类名的多个元素中的on change事件

jquery 如何检查元素是否有悬停

如何使用jquery检查元素是否具有转换属性?

如何使用 Jquery 检查 li 复选框值?