我已经知道!
通常用来表示JavaScript中的no
,not
和null
等否定。
但是感叹号在jQuery中的选择器之前意味着什么呢?
if(!$('selector').hasClass('something')){do something}
答案 0 :(得分:8)
它否定了布尔值。
含义:
true变为假
和
false变为真
在这个例子中,它意味着:
if(!$('selector').hasClass('something'))
如果
selector
不类什么
感叹号不适用于jQuery选择器,而是适用于hasClass
函数的结果。就像你使用括号一样(但是你不必使用括号,JavaScript知道这意味着)。
!( $('selector').hasClass('something') /* e.g. returns true */ ) /* now it's false */
答案 1 :(得分:1)
它只是意味着if NOT
然后执行某些操作,使其与通常的if
条件相反。
例如,下面的是相同的:
if(true) { //or if(something == true)
//Do something
}
if(!false) { //or if(something != false)
//Do something
}
所以在你的情况下,如果你的选择器返回false
,那就做点什么。
答案 2 :(得分:0)
也意味着相同的否定含义,但您也可以使用
if($('selector.something').length){do something}
因为在jquery中如果找不到元素,其长度为0;
在某些情况下你也可以使用
$('select(:not(:attributor)')
例如
$('option(:not(:selected))')
与
相同!$('option:selected')
这可能会对你有所帮助!