我正在尝试根据其背景图像选择一个元素。该图像是内联定义的。
<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找不到图像。我甚至试图通过每一个元素迭代,我已经仔细检查了网址。到目前为止一切似乎都很好。
任何想法在这里可能出错?
谢谢
答案 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)');