使用Javascript更改一个特定图像的IMG SRC
我正在编写一个简单的GreaseMonkey脚本 我想使用GM更改IMG的SRC,因为我无法更改HTML本身代码中的实际源代码 这是HTML代码段:使用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
<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';