我的长函数具有以下条件:
if ( shipSet == true ) {
$("#" + shippingFields[i]).style.background = 'gray';
$("#" + shippingFields[i]).className = 'optional';
} else {
$("#" + shippingFields[i]).removeAttribute('style');
$("#" + shippingFields[i]).removeClass('optional');
}
style
行可以正常工作,无论是true还是false,但是className
和removeClass
行不起作用。有什么建议?我只是没有正确使用它们吗? 最佳答案
由于("#" + shippingFields[i])
返回jQuery对象。
您需要使用addClass()和removeClass()代替:
if ( shipSet == true ) {
$("#" + shippingFields[i]).css('background','gray');
$("#" + shippingFields[i]).addClass('optional');
} else {
$("#" + shippingFields[i]).removeAttr('style');
$("#" + shippingFields[i]).removeClass('optional');
}
另外,您可以使用css()设置元素的样式。