jQuery addClass到子元素

scf*_*rg5 1 javascript jquery addclass

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

HTML:

<ul>
  <li><a href="#">Link 1</a></li>
  <li>
    <a href="#">Link with submenu</a>
    <ul>
      <li><a href="#">Sublink 1</a></li>
    </ul>
   </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

父级内的所有链接<li>都具有边框半径.但如果父母<li>有孩子<ul>,我不希望该链接具有半径.

我目前正在使用这个jQuery:

<script>
  $("li").has("ul").addClass("sub-radius");
</script>
Run Code Online (Sandbox Code Playgroud)

它工作正常,除了它的目标<li>,但我需要它来定位孩子<a>并删除它的半径.

任何帮助,将不胜感激.

Ry-*_*Ry- 7

试试这个表达式:

$("li:has(ul) > a").addClass("sub-radius");
Run Code Online (Sandbox Code Playgroud)

编辑:如果您不希望子项具有border-radius,请>在查询中删除.


Šim*_*das 5

你不需要jQuery,你可以用CSS来实现.只需使用:only-child伪类:

a:only-child { /* define border-radius here */ }
Run Code Online (Sandbox Code Playgroud)

现场演示: http ://jsfiddle.net/QYaqb/