JQuery проблемы с установкой переменных в if / else - PullRequest
1 голос
/ 01 сентября 2011

Я пытаюсь установить переменную в 0, если атрибут элемента равен определенной строке, иначе установить переменную в 1, но я не могу заставить ее работать.

Мой код такой в ​​моей функции JavaScript:

    var variable;
    if ($(this).attr("attribute", "string"))
        variable=0;
    else
        variable=1;

По какой-то причине переменная всегда устанавливается в 0, даже если атрибут элемента не равен конкретной строке.

Что я делаю не так ??

Ответы [ 4 ]

3 голосов
/ 01 сентября 2011

Вы должны использовать это вместо:

var variable;
if ($(this).attr("attribute") == "string")
    variable=0;
else
    variable=1;

$(this).attr("attribute", "string") устанавливает атрибут attribute в string, он не проверяет, равен ли attribute string.

См. Документацию по методу attr(attributeName,value).

1 голос
/ 01 сентября 2011

Вы устанавливаете строку в вашем if

if( $(this).attr("attribute", "string") ){

Вам нужно прочитать и сравнить

if( $(this).attr("attribute") === "string") ){
1 голос
/ 01 сентября 2011

Try -

var variable;
if ($(this).attr("attribute") == "string")
    variable=0;
else
    variable=1;

Сравнивает значение атрибута "attribute" со значением "string".В данный момент вы устанавливаете значение атрибута "attribute" на значение "string".Я подозреваю, что эта функция будет возвращать "истинное" значение, следовательно, variable всегда устанавливается в 0.

0 голосов
/ 01 сентября 2011

Попробуйте $(this[attribute="string"]).

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