Acoording на этот пост (и многие другие), я написал эту функцию:
function cssDisplay(block,none){
block.css('display','block');
none.css('display','none');
}
Затем, вызывая его, мне нужен только один параметр (block или none), например:
email.keyup(function(){
if(email.hasClass('has-error')) {
cssDisplay(errorEmail,undefined);
}else{
button.prop("disabled", false);
cssDisplay(undefined,errorEmail);
}
});
Но он работает только для блока отображения. Когда вход становится действительным, сообщение об ошибке не исчезнет, поэтому я что-то упустил. Кто-нибудь может мне помочь?
Если вам нужно изменить один элемент, вам не понадобится функция, просто измените ее непосредственно:
email.keyup(function(){
if(email.hasClass('has-error')) {
errorEmail.style.display = "block"; // show it
} else {
button.prop("disabled", false);
errorEmail.style.display = "none"; // hide it
}
});
cssDisplay
чтобы он проверял, являются ли параметры undefined
или нет, прежде чем получить доступ к их style
. Или создайте другие вспомогательные функции, например, комбинацию hide(element)
/ show(element)
или toggle(element)
который переключает видимость элемента.