JQuery选择基于背景图像url的元素

时间:2014-04-25 19:35:27

标签: jquery url background-image selector

我正在尝试根据其背景图像选择一个元素。该图像是内联定义的。

<div class="el" style="background-image:url(http://cl.ly/010.jpg);"></div>

我已经尝试过使用常见解决方案但没有结果。

$('.el').each(function() {
    if ( $(this).css('background-image') === 'http://cl.ly/010.jpg' ) console.log('found it');
});

var current = $('.el').css('background-image', 'url(http://cl.ly/010.jpg)');

jQuery找不到图像。我甚至试图通过每一个元素迭代,我已经仔细检查了网址。到目前为止一切似乎都很好。

任何想法在这里可能出错?

谢谢

4 个答案:

答案 0 :(得分:1)

尝试

if ($(this).css('background-image') === 'url(http://cl.ly/010.jpg)') console.log('found it');

使用url()搜索字符串。

答案 1 :(得分:1)

检查this fiddle是否有工作示例。

您在此行上的.el选择器上缺少引号:

var current = $('.el').css('background-image') === "url(http://cl.ly/010.jpg)"

编辑:您修改了引号,但在第二个代码块中,您只有URL,而不是实际的CSS值&#34; url(...)&#34;。它应该看起来像:

$('.el').each(function() {
    if ( $(this).css('background-image') === 'url(http://cl.ly/010.jpg)' ) console.log('found    it');
});

答案 2 :(得分:0)

您需要在检查时加入网址。看看这个小提琴:http://jsfiddle.net/vL4pG/

$('.el').each(function(){
   var $this = $(this);

    if ($this.css('background-image') === 'url(http://cl.ly/010.jpg)'){
         alert('found it');   
    }
});

答案 3 :(得分:0)

使用此:

var current = $('.el').css('background-image') === "url(http://cl.ly/010.jpg)"


这是一个小提琴(使用图像的不同地址) Fiddle


对于你的代码,第一个是不正确的,因为你需要url()包装器,如下所示:

$('.el').each(function() {
if ( $(this).css('background-image') === 'url(http://cl.ly/010.jpg)' ) console.log('found    it');
});


你的第二个是不正确的,因为你错过了课上的引号,应该是这样的:

var current = $('.el').css('background-image', 'url(http://cl.ly/010.jpg)');