我有一个类似的布局:

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

并希望使用jQuery选择器在单击时选择div中的子img。

为了得到div,我有一个选择器:

$(this)

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


当前回答

可以使用Child Selecor引用父级中可用的子元素。

$(' > img', this).attr("src");

下面是如果您没有对$(this)的引用,并且希望从其他函数引用div中可用的img。

 $('#divid > img').attr("src");

其他回答

您可以使用以下任一方法:

1 find():

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

2个孩子():

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

jQuery的每个都是一个选项:

<div id="test">
    <img src="testing.png"/>
    <img src="testing1.png"/>
</div>

$('#test img').each(function(){
    console.log($(this).attr('src'));
});

尝试以下代码:

$(this).children()[0]

jQuery构造函数接受第二个名为context的参数,该参数可用于重写选择的上下文。

jQuery("img", this);

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

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

如果所需的img只是所单击元素的直接后代,则还可以使用.children():

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

你可以使用

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
 $(this).find('img');
</script>