jquery基于背景图像名称选择元素

时间:2010-07-14 19:47:40

标签: jquery find background-image

我正在尝试选择具有特定背景图像的div这是我到目前为止所拥有的。不工作。我做错了什么想法?我正在尝试遵循jQuery文档。

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

4 个答案:

答案 0 :(得分:0)

您是否在网址的右括号后错过了一个勾号?我看到一个开头的勾号,但没有结束。

答案 1 :(得分:0)

我不相信您可以将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。如果你可以通过ID选择一些共同的父元素,你将大大减少你将迭代的元素数量。

答案 2 :(得分:0)

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;

   }


});

答案 3 :(得分:-1)

背景图像不是分割的属性,它是样式的属性。这意味着你必须以这种风格抓住师。