Заменить изображение без идентификатора / класса с JQuery - PullRequest
0 голосов
/ 16 июля 2011

Я использую внешнюю тему через расширение Google Chrome для веб-сайта.У логотипа нет идентификатора или класса для вызова, и я ищу способ заменить его другим изображением.Я чувствую, что может быть способ получить изображение в зависимости от его размера, но я не знаю, что делать дальше.

Ответы [ 4 ]

3 голосов
/ 16 июля 2011

, например, в <div id="something">, вы можете поймать его с помощью

$("#something img:first").attr('src', 'http://new.src/img.gif');
1 голос
/ 16 июля 2011

Если вы знаете, как называется имя файла связанного изображения, вы можете выбрать его, используя селектор содержимого.

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

$("img[src~='cats.gif']");
0 голосов
/ 16 июля 2011

Сначала необходимо выбрать элемент, близкий к нему.

например. если это третий потомок элемента с идентификатором example:

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

или, если родительский элемент не имеет идентификатора, вам придется сделать это с помощью прямого дочернего селектора. Если HTML-код:

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

Ваш селектор будет:

$("#myDiv > div:nth-child(2) > img");
0 голосов
/ 16 июля 2011

Вы должны быть в состоянии позвонить $("img:eq(1)").attr("src", "file.png");

, где 1 - индекс изображения.Как указывает waitinforatrain ниже, это нулевое значение.Из записи API:

Обратите внимание, что поскольку массивы JavaScript используют индексацию на основе 0, эти селекторы отражают этот факт.Вот почему $ ('. Myclass: eq (1)') выбирает второй элемент в документе с классом myclass, а не первый.Напротив, : nth-child (n) использует индексирование на основе 1 для соответствия спецификации CSS.

См. : селектор eq в JQuery API для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...