Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript更改一个特定图像的IMG SRC_Javascript_Html - Fatal编程技术网

使用Javascript更改一个特定图像的IMG SRC

使用Javascript更改一个特定图像的IMG SRC,javascript,html,Javascript,Html,我正在编写一个简单的GreaseMonkey脚本 我想使用GM更改IMG的SRC,因为我无法更改HTML本身代码中的实际源代码 这是HTML代码段: <img src="/OA_MEDIA/NEW_LOGO.png" title="NEW_LOGO.png" border="0"> 我可以这样做: var imgs = document.getElementsByTagName('img'); for (i=0; i<imgs.length; i++) { imgs[i

我正在编写一个简单的GreaseMonkey脚本

我想使用GM更改IMG的SRC,因为我无法更改HTML本身代码中的实际源代码

这是HTML代码段:

<img src="/OA_MEDIA/NEW_LOGO.png" title="NEW_LOGO.png" border="0">

我可以这样做:

var imgs = document.getElementsByTagName('img');
for (i=0; i<imgs.length; i++)
{
 imgs[i].src="path_to_other_image/image.gif";
}
var-imgs=document.getElementsByTagName('img');
对于(i=0;i
但是,我只想将IMG src替换为名为NEW_LOGO.png的图像,但我无法解决如何让脚本找到单个图像。不幸的是,图像的HTML没有通过ID或CSS类名引用图像,因此我无法缩小范围

我试过这个:

var imgs = document.querySelector('[src="/OA_MEDIA/NEW_UNI_LOGO.png"]');
for (i=0; i<imgs.length; i++)
{
 imgs[i] = imgs[i].replace('/OA_MEDIA/NEW_UNI_LOGO.png','https://www.google.co.uk/images/srpr/logo11w.png');
}
var imgs=document.querySelector('[src=“/OA_MEDIA/NEW_UNI_LOGO.png]”);
对于(i=0;i你可以

document.querySelector('[src="/OA_MEDIA/NEW_LOGO.png"]');

所以基本上

document.querySelector('[src="/OA_MEDIA/NEW_LOGO.png"]').src = 'https://www.google.co.uk/images/srpr/logo11w.png';

不使用jQuery这样的js库是一种选择吗?jQuery('img[src=“NEW_LOGO.png”]”)可以非常简单。attr('src','path_to_other_image/image.gif');谢谢你的回复。不幸的是,我没有option@PierreGranger-为什么要麻烦jQuery?querySelector已经这么做了。我不知道;)querySelector在所有浏览器上都可以使用?感谢您的回复-我已经编辑了我的问题,以包含使用您的方法时的最佳猜测,但它不起作用-我想知道我缺少什么(除了智能!).
document.querySelector
仅返回一个结果。如果要迭代所有结果,则需要
document.querySelector all
。谢谢-这很好,因为我只想更改一个图像。但由于某些原因,它不会接受更改。您需要执行
document.querySelector(“[src=“/OA_MEDIA/NEW_LOGO.png]”).src='1https://www.google.co.uk/images/srpr/logo11w.png“;
而不仅仅是对其调用
replace
。如果我在脚本中添加了一个快速测试:alert(imgs[I]);,则该警报将返回“[object HTMLImageElement]”。这就是替换不起作用的原因吗?因为它没有任何可替换的内容?
document.querySelector('[src="/OA_MEDIA/NEW_LOGO.png"]').src = 'https://www.google.co.uk/images/srpr/logo11w.png';