jQuery选择没有孩子或第一个孩子不是图像的地方

hac*_*ker 2 html jquery jquery-selectors

我正在尝试动态设置页面上的一些元素.所以,如果我有以下代码:

<a href="#">
  Select Me
</a>

<a href="#">
  <img src="blah.jpg" />
  Don't select me
</a>

<a href="#">
 <div>Don't select me either</div>
 <img src="blah.jpg" />
</a>

<a href="#">
  <div>You can select me too.</div>
</a>
Run Code Online (Sandbox Code Playgroud)

我希望它选择第一个和第四个标签.

据我所知,通过使用:

 $("a:first-child")
Run Code Online (Sandbox Code Playgroud)

不会选择第一个标签,因为它没有任何子项(只是文本).不应该选择第二个标签,例如:

$("a:first-child").not("img)
Run Code Online (Sandbox Code Playgroud)

但这遗漏了第一项.

编辑:如果A元素中的任何地方都有IMG,请不要选择它.

nic*_*ckf 9

如果要选择所有没有图像作为第一个孩子的链接,请使用以下命令:

$('a:not(:has(> img:first-child))')
Run Code Online (Sandbox Code Playgroud)

如果你想选择哪一个没有图像的所有链接使用这样的:

$('a:not(:has(img))')
Run Code Online (Sandbox Code Playgroud)