这个在 jquery 中的 find 实际上在做什么?
find('> a > img').attr('src');
我不确定 > 选择器。这里 它告诉用法是 (parent > child) 选择作为指定元素的直接子元素的所有元素。但是在这里 find 根本没有指定父级。那么这里发生了什么?
这个在 jquery 中的 find 实际上在做什么?
find('> a > img').attr('src');
我不确定 > 选择器。这里 它告诉用法是 (parent > child) 选择作为指定元素的直接子元素的所有元素。但是在这里 find 根本没有指定父级。那么这里发生了什么?
这是一样的.children('a').children('img').attr('src')
它将在锚标记内生成源代码,但应指定父元素以查找 ex:
$('.parent-class').find('>a > img').attr('src');
您可以将一个对象传递给find()
,该对象将充当父选择器。鉴于此标记:
<div class="my_div">
<a href="#">
<img src="images/my_img.jpg" />
</a>
</div>
$('.my_div').find('> a > img')
应将图像作为对象返回,而$('.my_div').find('> a > img').attr('src')
应返回“my_img.jpg”
我还要指出,'>' 是一个 CSS 选择器;它不是 jQuery 独有的。在 vanilla CSS中.my_div > a > img
,将选择任何<img>
直接后代的任何内容<a>
,而后者又是.my_div
. 在大多数情况下,这种程度的特异性实际上是矫枉过正的。
这就是它应该如何工作:
var a = $("#outerDiv").find('> a > img').attr('src');
$("#mydiv").html(a);