如何获得 $(this) 选择器的孩子?

IT技术 javascript jquery jquery-selectors
2021-02-01 22:13:06

我有一个类似于这样的布局:

<div id="..."><img src="..."></div>

并想使用 jQuery 选择器来选择点击img内的子项div

为了获得div,我有这个选择器:

$(this)

如何img使用选择器获取孩子

6个回答

jQuery 构造函数接受调用的第二个参数context,该参数可用于覆盖选择的上下文。

jQuery("img", this);

这与.find()像这样使用相同

jQuery(this).find("img");

如果您想要的 imgs只是被点击元素的直接后代,您还可以使用.children()

jQuery(this).children("img");
对于它的value: jQuery("img", this) 在内部转换为: jQuery(this).find("img") 所以第二个稍微快一点。:)
2021-04-05 22:13:06

你也可以使用

$(this).find('img');

这将返回所有imgs 的后代div

在一般情况下,它似乎$(this).children('img')会更好。例如,<div><img src="..." /><div><img src="..." /></div></div>因为大概用户想要找到第一级 imgs。
2021-04-01 22:13:06

如果你需要得到第一个img正好下降一个级别,你可以这样做

$(this).children("img:first")

如果您的 DIV 标签后紧跟 IMG 标签,您还可以使用:

$(this).next();
.next() 真的很脆弱,除非你总能保证这个元素是下一个元素,否则最好使用不同的方法。在这种情况下,IMG 是 div 的后代,而不是兄弟。
2021-03-30 22:13:06

直接孩子

$('> .child-class', this)