if语句的第二部分不起作用

时间:2013-03-12 04:21:49

标签: javascript jquery

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

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

2 个答案:

答案 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等。)