我有条件:
console.log(jQuery(".sl-slide:visible .bg-img").css("background-image"));
if(jQuery(".sl-slide:visible .bg-img").css("background-image") == "url(http://pacificolife.com/wp-content/uploads/2016/08/bw1-1.jpg)")
{
console.log("Here");
}
但是当背景等于该网址时,没有任何反应。我做错了什么?
答案 0 :(得分:1)
那是因为那些不是相同的字符串:
var background = jQuery(".sl-slide:visible .bg-img").css("background-image"))
如果您这样做,background
的值为url("http://pacificolife.com/wp-content/uploads/2016/08/bw1-1.jpg")
无论你的css文件是否写得:
.sl-slide:visible .bg-img {
/* with '' */
background-image: url("http://pacificolife.com/wp-content/uploads/2016/08/bw1-1.jpg");
/* without '' */
background-image: url(http://pacificolife.com/wp-content/uploads/2016/08/bw1-1.jpg);
}
输出将始终相同。
<强>解决方案强>:
代码:
var bg = jQuery(".sl-slide:visible .bg-img").css("background-image"));
var url = bg.replace(/(?:^url\(["']?|["']?\)$)/g, "");
console.log(url === 'http://pacificolife.com/wp-content/uploads/2016/08/bw1-1.jpg');
// true
选中此fiddle