1
if(($(this).val().length == 0) && ($(this).not('.optionalField'))){

该语句的第二部分不起作用(在 && 之后)。有人知道为什么吗?我的表单中只有一个字段具有类 optionalField,但由于某种原因,它对所有字段都一视同仁???这段代码错了吗?

4

2 回答 2

2

您可能打算使用哪个过滤器.is()而不是.not()针对选择器的交集过滤当前结果集.optionalfield

!$(this).is('.optionalField')

所以:

if ($(this).val().length == 0 && !$(this).is('.optionalField')) {
于 2013-03-12T04:25:55.153 回答
1

这可能是一个更好的解决方案(!暗示“不” hasClass

if(($(this).val().length == 0) && ( !$(this).hasClass('optionalField'))){

.not()传统上用于其他属性(:checked,:visible等)

于 2013-03-12T04:24:20.463 回答