如何选择具有特定 src 的子图像的所有 Div?

Posted

技术标签:

【中文标题】如何选择具有特定 src 的子图像的所有 Div?【英文标题】:How to Select All Div's which have a children image with some specfic src? 【发布时间】:2012-05-11 06:44:17 【问题描述】:

假设我有,

<div>
  <img src='aaBB_a.png' />
</div>

<div>
  <img src='aaa_a.png' />
</div>

<div>
  <img src='aaBB_a.png' />
</div>

我需要选择所有包含 src 包含 BB_ 的 img 子项的 div(不是图像)。在上面的例子中,我需要选择第一个和第三个(不是第二个)。这个我试过了,

'div img[src*="BB_"]',

但它选择的是图像而不是 div。

更新:我需要将此传递给 jquery 委托,

$('#container').delegate('div img[src*="BB_"]','mouseover',function() )

【问题讨论】:

【参考方案1】:

使用 jQuery has() 将初始结果过滤到具有这些后代的那些

var divsBB = $('div').has('img[src*="BB_"]');

对于selector version :has()

$('#container').delegate('div:has(>img[src*="BB_"])','mouseover',function()...)

【讨论】:

一个选择器不可能,因为我需要将它传递给 jquery 委托。 @user960567 这是如何通过的?你可以在你的帖子中显示吗?顺便说一句,您可以将委托链接到它。 谢谢。有用。还要选择其他父母。例如,div img 的父级。我只需要选择立即 div。 这对我有用,div:has(>img[src*="BB_"])。请更新您的答案。非常感谢。 我在方法版本中尝试过,但没有奏效。我猜它适用于选择器版本:D【参考方案2】:
$('div img[src*="BB_"]').parent("div");

我认为这会奏效

【讨论】:

一个选择器不可能,因为我需要将它传递给 jquery 委托。【参考方案3】:

您可以使用$('some_kind_img').parent()获取每个标签的父级

【讨论】:

以上是关于如何选择具有特定 src 的子图像的所有 Div?的主要内容,如果未能解决你的问题,请参考以下文章

如何选择仅具有特定属性的元素?

如何使用jQuery在某些特定div中选择具有相同名称的所有元素[重复]

影响所有图像的脚本而不是仅包含某些文本的div中的图像(jQuery)

Jquery查找具有特定数据属性的元素[重复]

如何使用 jquery 选择具有或不具有特定“alt”属性的图像

如何使用Javascript选择具有特定文本内容的所有锚标签? [重复]