jqueryif/else语句
我有一个有趣的问题,我不明白。这是一个简单的jqueryif-else语句,但它不起作用。为什么它不起作用 代码:jqueryif/else语句,jquery,css,if-statement,Jquery,Css,If Statement,我有一个有趣的问题,我不明白。这是一个简单的jqueryif-else语句,但它不起作用。为什么它不起作用 代码: 但是当我将.css(“背景图像”)===“url(img/image.png)”更改为.css('position')==“absolute”时,它就起作用了。值可能有细微的差别;提醒else语句中的值以查看发生了什么。比如说, if ( $("#div2").css("background-image") === "url(img/image.png)") { alert
但是当我将
.css(“背景图像”)===“url(img/image.png)”
更改为.css('position')==“absolute”
时,它就起作用了。值可能有细微的差别;提醒else语句中的值以查看发生了什么。比如说,
if ( $("#div2").css("background-image") === "url(img/image.png)") {
alert('OK');
}
else {
alert($("#div2").css("background-image"));
}
我的猜测是,当css加载时,它会将url(img/image.png)和图灵化为。因此,.css(“背景图像”)将不再等于“url(img/image.png)” 而不是检查
.css('background-image') == 'url(img/Image.png)'
检查
这里只是在黑暗中拍摄,但是“url(img/image.png)”应该在url()的参数周围加上单引号,因为这是CSS的语法
“url('img/image.png')”
似乎正确的答案是写入图像的完整路径。所以,使用url(http://www.myhost.com/img/image.png)
而不是url(img/image.png)
如果你提醒(或写/log/inspect)$(“#div2”).css(“背景图像”)
。你能发布你正在检查的html片段,或者相应的css吗?这很奇怪,为什么.css('height'))=='absolute'
有用吗?哦,对不起,它的.css('position')==='absolute'不是.css('height')==='absolute.@j08691我试过==而不是===但是什么都没有。是的,背景图像
url获得了一个完全限定的路径。Fiddle:引用路径是可选的,单引号和双引号都可以。当然,在样式表中声明路径时两者都可以。然而,这里的问题是:$(“#div2”).css(“背景图像”)返回什么?带或不带单引号的字符串。这可能是一个依赖于浏览器的答案,因此,正如Daniel在上文中所建议的那样,进行indexOf可能是最安全的方法。至少在Firefox中,返回完整路径并用双引号括起来:url(“http://thesite.tld/path/to/image.png)
(见上面我的小提琴)
.css('background-image') == 'url(img/Image.png)'
.css('background-image').indexOf("img/Image.png") != -1