使用JQuery替换没有ID / Class的图像

时间:2011-07-16 17:51:14

标签: javascript jquery css google-chrome-extension

我正在通过Google Chrome扩展程序为网站应用外部主题。徽标没有ID或类来调用它,我正在寻找一种方法来替换它与另一个图像。我觉得有可能根据它的大小来获取图像,但我不知道该怎么做。

4 个答案:

答案 0 :(得分:3)

如果是<div id="something">,你可以用

来抓住它
$("#something img:first").attr('src', 'http://new.src/img.gif');

答案 1 :(得分:1)

如果您知道链接图像的文件名是什么,则可以使用包含选择器进行选择。

http://api.jquery.com/attribute-contains-word-selector/

$("img[src~='cats.gif']");

答案 2 :(得分:0)

您应该可以致电$("img:eq(1)").attr("src", "file.png");

其中1是图像的索引。正如waitinforatrain在下面指出的那样,这是从零开始的。来自API条目:

  

请注意,由于JavaScript数组使用基于0的索引,因此这些   选择者反映了这一事实。这就是$('。myclass:eq(1)')选择的原因   文档中的第二个元素是类myclass,而不是   首先。相反,:nth-child(n)使用基于1的索引来符合   到CSS规范。

有关详细信息,请参阅:eq selector in the JQuery API

答案 3 :(得分:0)

您需要先选择一个靠近它的元素。

e.g。如果它是标识为example的元素的第三个子元素:

$("#example :nth-child(3)").attr('src', '...');

或者,如果父元素没有ID,则必须使用直接子选择器。如果HTML是:

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

您的选择器将是:

$("#myDiv > div:nth-child(2) > img");