JQuery Несколько атрибутов - PullRequest
1 голос
/ 21 февраля 2012

Итак, у меня есть нечто, похожее на это:

<src id="Point_1" href="pin_icon_red_attack.png">

Почему этот JQuery не работает?:

if( $('img[id*="Point_"][src="pin_icon_red_attack.png"]')   ) {
// do something
}

1 Ответ

3 голосов
/ 21 февраля 2012

Этот селектор ищет изображение с href pin_icon_red_attack.png, которое находится внутри изображения с идентификатором, содержащим Point_.

Кроме того, в HTML тег является <img>, а не <image>, и это src=, а не href=.

<img id="Point_1" src="pin_icon_red_attack.png" />

Должно быть:

$('img[id*="Point_"][src="pin_icon_red_attack.png"]')

Кроме того, в операторе if вам нужно добавить .length, потому что когда jQuery ничего не находит, он возвращает пустой массив (который JavaScript оценивает как true).

if($('img[id*="Point_"][src="pin_icon_red_attack.png"]').length){
}

ДЕМО: http://jsfiddle.net/usjz6/3/

ПРИМЕЧАНИЕ. Если идентификатор всегда начинается с Point_, вместо [id*="Point_"].

можно использовать [id^="Point_"] (начинается с).
...