Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 添加类jQuery_Javascript_Jquery_Jquery Selectors_Addclass_Dom Manipulation - Fatal编程技术网

Javascript 添加类jQuery

Javascript 添加类jQuery,javascript,jquery,jquery-selectors,addclass,dom-manipulation,Javascript,Jquery,Jquery Selectors,Addclass,Dom Manipulation,如何向每个包含ul元素的#徽标按钮bg ul li添加隐藏子菜单类?这应该很好: if ($("#logo-buttons-bg ul li").has("ul")){ $(this).addClass("hide-sub-menu"); } 这应该是好的: if ($("#logo-buttons-bg ul li").has("ul")){ $(this).addClass("hide-sub-menu"); } 使用选择器 $("#logo-buttons-bg ul

如何向每个包含ul元素的#徽标按钮bg ul li添加隐藏子菜单类?

这应该很好:

if ($("#logo-buttons-bg ul li").has("ul")){
    $(this).addClass("hide-sub-menu");
}
这应该是好的:

if ($("#logo-buttons-bg ul li").has("ul")){
    $(this).addClass("hide-sub-menu");
}
使用选择器

$("#logo-buttons-bg ul li").has("ul").addClass("hide-sub-menu");
使用选择器

$("#logo-buttons-bg ul li").has("ul").addClass("hide-sub-menu");

另一种办法:

$("#logo-buttons-bg > ul > li:has(ul)").addClass("hide-sub-menu");
参考资料:


    • 另一种方法:

      $("#logo-buttons-bg > ul > li:has(ul)").addClass("hide-sub-menu");
      
      参考资料:


      :has
      选择包含至少一个与指定选择器匹配的元素的元素

      $("#logo-buttons-bg ul li").has("ul").addClass("hide-sub-menu");
      
      尝试:

      解释 使用
      parent>child
      ,因为它选择所有元素,而
      parent-child
      只选择第一个元素,所以现在所有
      li
      都有父
      #lofo按钮bg


      :has(ul)
      将检查这些li是否包含
      ul
      标记为子级,如果为true,则将添加类。

      :has
      选择至少包含一个与指定选择器匹配的元素的元素

      $("#logo-buttons-bg ul li").has("ul").addClass("hide-sub-menu");
      
      尝试:

      解释 使用
      parent>child
      ,因为它选择所有元素,而
      parent-child
      只选择第一个元素,所以现在所有
      li
      都有父
      #lofo按钮bg


      :has(ul)
      将检查这些li contails
      ul
      标记是否为子级,如果为true,则将添加类。

      这一个更干净这一个更干净将匹配的元素集减少为具有与选择器或DOM元素匹配的后代的元素集。您还可以使用has选择器$(“#徽标按钮bg ul li:has(ul)”.addClass(“隐藏子菜单”);这个答案是正确的,我的怀疑是错误的。我最初的验证搜索自动完成了错误的jQuery函数。:/我仍然喜欢tech的,因为它非常干净。我不太喜欢伪in选择器,因为它们在我看来真的不像链接一样干净……而且它们实际上速度较慢,至少在我运行过性能测试的情况下是如此打开。将匹配的元素集减少为具有与选择器或DOM元素匹配的后代的元素集。您还可以使用has选择器$(“#徽标按钮bg ul li:has(ul)”).addClass(“隐藏子菜单”);这个答案是正确的,我的怀疑是错误的。我最初的验证搜索自动完成了错误的jQuery函数。:/我仍然喜欢tech的,因为它非常干净。我不太喜欢伪in选择器,因为它们在我看来真的不像链接一样干净……而且它们实际上速度较慢,至少在我运行过性能测试的情况下是如此on.此答案与techfoobar的答案完全相同:)此答案与techfoobar的答案完全相同:)为了方便本问题的未来读者:在上面发布的示例代码中,
      $(此)
      实际上并不指由前面的
      $()
      过滤的元素,而过滤器
      具有(“ul”)
      实际上返回的是a,而不是布尔值。有关解决方案,请参见下面的答案。为了方便以后阅读此问题:在上面发布的示例代码中,
      $(此)
      实际上并没有引用前面的
      $()
      过滤的元素,而过滤器
      具有(“ul”)
      实际上返回一个,而不是布尔值。有关解决方案,请参阅下面的答案。