if(($(this).val().length == 0) && ($(this).not('.optionalField'))){
本声明的第二部分不起作用(在&&之后)。有人知道为什么吗? 我的表单中只有一个字段具有类optionalField,但由于某种原因它将所有字段视为相同???这段代码错了吗?
答案 0 :(得分:2)
您可能打算使用.is()
代替.not()
,它会根据.optionalfield
选择器的交集过滤当前结果集:
!$(this).is('.optionalField')
所以:
if ($(this).val().length == 0 && !$(this).is('.optionalField')) {
答案 1 :(得分:1)
这可能是更好的解决方案(!
暗示“不是”hasClass
)
if(($(this).val().length == 0) && ( !$(this).hasClass('optionalField'))){
.not()
传统上用于其他属性(:checked
,:visible
等。)