【发布时间】:2014-03-25 18:48:06
【问题描述】:
我在长函数中有以下条件:
if ( shipSet == true ) {
$("#" + shippingFields[i]).style.background = 'gray';
$("#" + shippingFields[i]).className = 'optional';
} else {
$("#" + shippingFields[i]).removeAttribute('style');
$("#" + shippingFields[i]).removeClass('optional');
}
style 行工作正常,无论是真是假,但 className 和 removeClass 行不工作。有什么建议?我只是没有正确使用它们吗?
【问题讨论】:
-
$("#" + shippingFields[i]).style.应该是$("#" + shippingFields[i])[0].style.。您需要了解 DOM 元素和 jQuery 对象之间的区别。 -
className是 DOM 元素的属性,而不是 jQuery 函数。您应该改用 jquery css 函数:$("#" + shippingFields[i]).css("background", "gray"); -
即使我使用
document.getElementById(shippingFields[i]).className = 'optional';它仍然不起作用。还有@Satpal,THE STYLE LINES WORK FINE
标签: javascript jquery removeclass classname