jQuery if / else оператор CSS - PullRequest
       3

jQuery if / else оператор CSS

2 голосов
/ 15 марта 2012

У меня есть интересная проблема, которую я не понимаю.Это простой оператор jQuery if else, но он не работает.Почему он не работает?

Код:

$("#div").click(function(){

    if ( $("#div2").css("background-image") === "url(img/image.png)") {
        alert('OK');
    }
    else {
        alert('NG');
    }

});

Но когда я меняю .css("background-image") === "url(img/image.png)", например, на .css('position') === 'absolute', он работает.

Ответы [ 4 ]

4 голосов
/ 15 марта 2012

Там может быть небольшая разница в стоимости;предупредите значение в операторе else, чтобы увидеть, что происходит.Например,

if ( $("#div2").css("background-image") === "url(img/image.png)") {
    alert('OK');
}
else {
    alert($("#div2").css("background-image"));
}
2 голосов
/ 15 марта 2012

Я думаю, что при загрузке css он берет url (img / image.png) и помещает его в http://www.somehost.com/img/image.png. Таким образом, .css ("background-image") больше не будет равенurl (img / image.png) ".

Вместо проверки

.css('background-image') == 'url(img/Image.png)'

check

.css('background-image').indexOf("img/Image.png") != -1
0 голосов
/ 16 марта 2012

Похоже, что правильный ответ - написать полный путь к изображению.Итак, используйте url(http://www.myhost.com/img/image.png) вместо url(img/image.png).

0 голосов
/ 15 марта 2012

Здесь просто стрельба в темноте, но «url (img / image.png)», вероятно, должно заключаться в одинарные кавычки вокруг аргумента url (), поскольку синтаксис для CSS именно такой.

"url('img/image.png')"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...