Javascript jQuery将类添加到子元素

Javascript jQuery将类添加到子元素,javascript,jquery,addclass,Javascript,Jquery,Addclass,我有一个导航菜单与子菜单通常无序列表 html: 父级中的所有链接都有一个边界半径。但是如果父级有子级,我不希望链接有半径 我目前正在使用这个jQuery: <script> $("li").has("ul").addClass("sub-radius"); </script> $(“li”).has(“ul”).addClass(“子半径”); 它可以正常工作,除了它的目标是,但我需要它的目标是子,并删除其半径 任何帮助都将不胜感激。我想您需

我有一个导航菜单与子菜单通常无序列表

html:

父级
  • 中的所有链接都有一个边界半径。但是如果父级
  • 有子级
      ,我不希望链接有半径

      我目前正在使用这个jQuery:

      <script>
        $("li").has("ul").addClass("sub-radius");
      </script>
      
      
      $(“li”).has(“ul”).addClass(“子半径”);
      
      它可以正常工作,除了它的目标是
    • ,但我需要它的目标是子
      ,并删除其半径


      任何帮助都将不胜感激。

      我想您需要
      。查找

      <script>
        $("li:has(ul)").find("a").addClass("sub-radius");
      </script>
      
      
      $(“li:has(ul)”).find(“a”).addClass(“子半径”);
      
      我想您需要
      。查找

      <script>
        $("li:has(ul)").find("a").addClass("sub-radius");
      </script>
      
      
      $(“li:has(ul)”).find(“a”).addClass(“子半径”);
      
      试试这个表达式:

      $("li:has(ul) > a").addClass("sub-radius");
      
      编辑:如果不希望子项具有边框半径,请删除查询中的

      尝试以下表达式:

      $("li:has(ul) > a").addClass("sub-radius");
      

      编辑:如果不希望子项具有边框半径,请删除查询中的

      只需在li中找到a:

      $("li").has("ul").find('a').addClass("sub-radius");
      
      这是一把小提琴:

      只需在li中找到a:

      $("li").has("ul").find('a').addClass("sub-radius");
      
      这是一把小提琴:
      这应该适用于您的HTML

      ("li").has("ul").children("a").addClass("sub-radius");
      

      这应该适用于您的HTML

      ("li").has("ul").children("a").addClass("sub-radius");
      

      这里不需要jQuery,只需要CSS就可以实现。只需使用
      :only child
      伪类:

      a:only-child { /* define border-radius here */ }
      

      现场演示:

      这里不需要jQuery,只需CSS就可以实现。只需使用
      :only child
      伪类:

      a:only-child { /* define border-radius here */ }
      

      现场演示:

      效果完美。谢谢你们所有人的快速和令人敬畏的回答!工作得很好。谢谢你们所有人的快速和令人敬畏的回答!