jQuery $("img [src = the_image_souce]").attr('src','new_src'); 不起作用

sha*_*eer 3 jquery jquery-selectors

我的代码不起作用我不知道为什么the_image_source和new_src只是占位符我已经将实际值放在其中

我也试过,$("img[src=the_image_souce]")[0].attr('src','new_src');但它也不起作用,请帮忙

Joh*_*ock 16

您必须通过访问jQuery Object中的[0]元素来了解这将返回DOM元素.您不能直接在DOM元素上使用jQuery attr()方法.它必须在jQuery对象上运行

从本质上讲,如果你有以下选择匹配多个元素,你要访问的第一个匹配元素$("img[src='http://domain.com/image.jpg]"),那么你应该使用.首先().EQ() .例

$("img[src='http://domain.com/image.jpg']").first().attr('src','http://domain.com/newimage.jpg')
Run Code Online (Sandbox Code Playgroud)

要么

$("img[src='http://domain.com/image.jpg']").eq(0).attr('src','http://domain.com/newimage.jpg')
Run Code Online (Sandbox Code Playgroud)

要么

$($("img[src='http://domain.com/image.jpg']")[0]).attr('src','http://domain.com/newimage.jpg');
Run Code Online (Sandbox Code Playgroud)

但这看起来很奇怪