ID不同时更改图像源

时间:2016-03-10 10:47:43

标签: javascript jquery html css

我想使用javascript更改标题,当背景图片ID为例如" dark"时,徽标从一种颜色变为另一种颜色,人们实际上可以看到徽标再次。现在我拥有的是这个,但它似乎没有做到这一点,我甚至不确定它是否能够工作。

<div class="slider--image" id="dark" STYLE="background-image:  url(source1.png)">



<script type="text/javascript">

$(document).on('document_change', function () {
if (document.getElementById('dark')) {
document.getElementById("main--logo").src = "new.gif";
}
});

</script>

所以主要 - 徽标是我标题中可见的徽标的ID。

问题是,它是一个整页滑块,整个背景都在变化,因此有时徽标需要是黑色的,有时需要是白色的。有没有办法像我尝试的那样做,或者可能是一种解决方法?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的解决方案将无效,因为您的HTML

上找不到#main--logo

.src也不会起作用,因为它不是图像而是背景图像

尝试使用class而不是id并使用jQuery函数hasClass()

$(document).on('document_change', function () {
   if ($('.slider--image').hasClass(dark)) {
       $("#main--logo").src = "new.gif";
   }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>


<div class="slider--image dark" style="background-image:  url(source1.png)">

</div>