JQuery выбрать элемент на основе имени фонового изображения - PullRequest
1 голос
/ 14 июля 2010

Я пытаюсь выбрать div с определенным фоновым изображением, это то, что я до сих пор Не работает. Есть идеи, что я делаю не так? Я пытаюсь следовать документации jQuery.

var markerShadow0 = $("div[background-image='url(\"http://www.axtsweapons.com/gmarkers/markershadowA.png\")]");

Ответы [ 4 ]

0 голосов
/ 14 июля 2010

background-image - это не атрибут элемента, а стиль css.

Вам придется перебирать все div и проверять стиль css.

$("div").each( function(){

   if ( $(this).css('background-image') === 'http://www.axtsweapons.com/gmarkers/markershadowA.png' ) {

      //do something

      //stop loop
      return false;

   }


});
0 голосов
/ 14 июля 2010

Фоновое изображение не является атрибутом подразделения, это атрибут стиля. Это означает, что вам придется захватить деление с этим стилем.

0 голосов
/ 14 июля 2010

Я не верю, что вы можете рассматривать свойства CSS как атрибуты, что вы и делаете с селектором div[attribute=value].

Возможно, вы сможете заставить div[style*=background-image:url(http://...)] работать (см. this ), но вам, вероятно, будет лучше что-то вроде:

$('div').each(function(i, e) {
  if ($(e).css('background-image') == 'http://www.axtsw...dowA.png')) {
    // element matches
  }
});

Обратите внимание, что это будет проверять каждый div на странице.Если вы можете выбрать какой-нибудь общий родительский элемент по идентификатору, вы резко сократите число элементов, над которыми вы будете перебирать.

0 голосов
/ 14 июля 2010

Вы пропускаете один тик после закрывающей скобки для URL?Я вижу открывающий тик, но не закрывающий.

...