替换具有相同类naes的元素

时间:2018-03-20 16:29:19

标签: javascript jquery html

我在同一个班级名称中有3张图片"图片"



<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="imageHolder" style="width: 80%; display:  inline;">
	<div class="image">
		<img src="//i.stack.imgur.com/nO2hl.png">
	</div>
	<div class="image">
		<img src="//i.stack.imgur.com/IkjJW.png">
	</div>
	<div class="image">
		<img src="//i.stack.imgur.com/QrKSV.png">
	</div>
</div>
&#13;
&#13;
&#13;

我想用不同的图像链接替换第二个图像。所以我试过这样的事情:

$('.image').find('img').attr('src', 'http://cdn.shopify.com/s/files/1/1061/1924/products/Smiling_Face_Emoji_with_Blushed_Cheeks_grande.png?v=1480481056');

然而,这取代了所有图片,而不仅仅是第二张图片,所以我尝试$('.image')[1].find(..)...,但是没有用,我收到了错误:Uncaught TypeError: $(...)[1].find is not a function

如果有人可以解释我做错了什么以及如何解决这个问题,我将不胜感激?

感谢。

1 个答案:

答案 0 :(得分:1)

您非常接近 - find()将返回一个数组,您希望您的更改应用于单个元素:

$($('.image').find('img')[1]).attr('src', 'http://cdn.shopify.com/s/files/1/1061/1924/products/Smiling_Face_Emoji_with_Blushed_Cheeks_grande.png?v=1480481056');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="imageHolder" style="width: 80%; display:  inline;">
	<div class="image">
		<img src="//i.stack.imgur.com/nO2hl.png">
	</div>
	<div class="image">
		<img src="//i.stack.imgur.com/IkjJW.png">
	</div>
	<div class="image">
		<img src="//i.stack.imgur.com/QrKSV.png">
	</div>
</div>

https://api.jquery.com/find/