如果背景图片 url = 那么

问题描述 投票:0回答:4

我想做的是更改

background-image
div
,但前提是
background-image
url 与某个 url 匹配。

这是 HTML:

<div class="test" style="background-image: url("/background1.png");">

现在我尝试的是这样的:

if ($('.test').css('background-image') === 'url(/background1.png)') {
    $('.test').css("background-image", "url(/background2.png)");
}

我知道替换是有效的,因为如果我删除第一行,它会为我更新所有背景图像,但我似乎无法让第一行工作。

javascript jquery html css background-image
4个回答
2
投票

你可以使用这样的东西

 var bg = $(".test").css('background-image');
 bg = bg.replace('url("','').replace('")','');


 if (bg === '/background1.png') {
    $('.test').css("background-image", "url(/background2.png)");
 }

小提琴示例:https://jsfiddle.net/bpv4Lggv/19/


0
投票

.prop()
可能会带您到达您需要去的地方。

http://www.w3schools.com/jquery/html_prop.asp

http://api.jquery.com/prop/


0
投票

使用过滤器获取所有带有测试类的div并匹配背景图像(

url(/background1.png)
)

var filtered = $('.test').filter(function(test){
  return $(test).css('background-image') === 'url(/background1.png)';
});
//change filtered DOM only, with the new image background
$(filtered).css("background-image", "url(/background2.png)"); }

0
投票

我不熟悉 JQuery,但我认为这就是您所要求的(在纯 JavaScript 中)?

  if(element.style.backgroundImage == 'url("imagePathHere")'){
 // your code }

现在可能没什么用处,但我有一段时间一直在尝试寻找解决方案,直到我控制台记录它并意识到我的问题是什么😅

© www.soinside.com 2019 - 2024. All rights reserved.