2013-04-02 6 views
0

я не могу получить заявление еще в этом сценарии для работы:Jquery еще не работает

$("input[type=text].required").blur(function() { 
    var loremIpsum = $(".errorPopup").length; 
    if ($(this).val() == "") { 
     $(this).addClass("error"); 
     $(this).parent(".inputWrapper").append("<div class=\"errorPopup\">" + $(this).attr("placeholder") + "</div>"); 
    } else if ($(this).hasClass("error");) { 
     alert("why doesn't this work?"); 
    } 
}); 

В чем проблема? Это выглядит идеально для меня.

+8

дополнительная точка с запятой. http://jslint.com –

+0

Это пахнет репутацией рыбалки. Не может быть, просто скажи. – ktamlyn

+0

Вы должны сохранить ссылку на '$ (this)' вместо того, чтобы писать ее снова и снова. Мало того, что не делать это неэффективно, но ваш код будет более читабельным, и было бы легче обнаружить ошибки;) – plalx

ответ

-1

Вы else if, когда вы, вероятно, просто хотите else

7

ваш код с запятой в конце выражения ...

} else if ($(this).hasClass("error");) { 

должен быть

} else if ($(this).hasClass("error")) { 
4

Внутри блока else if есть дополнительная точка с запятой. Попробуйте удалить его

} else if ($(this).hasClass("error")) { 
1

Суть в строке 6 не указана.

$("input[type=text].required").blur(function() { 
    var loremIpsum = $(".errorPopup").length; 
    if ($(this).val() == "") { 
     $(this).addClass("error"); 
     $(this).parent(".inputWrapper").append("<div class=\"errorPopup\">" + $(this).attr("placeholder") + "</div>"); 
    } else if($(this).hasClass("error")){ // You had a semi-colon here which was not required 
     alert("why doesn't this work?"); 
    } 
}); 
2

Вы должны сделать так

$("input[type=text].required").blur(function() { 
    var loremIpsum = $(".errorPopup").length; 
    if ($(this).val() == "") { 
     $(this).addClass("error"); 
     $(this).parent(".inputWrapper").append("<div class=\"errorPopup\">" + $(this).attr("placeholder") + "</div>"); 
    } 
    if ($(this).hasClass("error")) { 
     alert("why doesn't this work?"); 
    } 
}); 

, потому что, когда, если верно, чем он никогда не вступит в другой, если заявление, так

if() {} // false than go to 
else if() {} // if false than go to 
else {} // default 
Смежные вопросы