要素に特定のクラスがあるかどうかをifステートメントで確認するためにhasClass()を使用しています。要素に特定のクラスがない場合、ifステートメントをどのようにチェックインできますか?返信ありがとうございます。乾杯。マーク.
なぜ単純ではない:
if (!el.hasClass ('foo'))
{
}
より一般的にjavascriptでは、ブール結果の反対をチェックするには、論理否定演算子_!
_を使用します:
_var isValid = false;
if (!isValid) {
// execute if isValid = false;
}
_
質問に対して、要素に指定されたクラスがある場合、.hasClass()
はブール値を返します。したがって、式がある場合:
_<div class="someClass"></div>
if ($('div').hasClass('someClass')) {
// will execute
}
_
そのクラスがないかどうかを確認するには:
_if (!$('div').hasClass('someClass')) {
// will not get here because our element has the class "someClass"
}
_
要素を選択するときに、特定のクラスを持つ人を避けたい場合は、:not()
擬似セレクターを使用できます。
_$('div:not(.someClass)')
_
if (!element.hasClass('classname')) {
...
}
使用できます
el.is('.oneClass:not(.secondClass)')
複数のクラスを確認する必要がある場合、または
el.is(':not(.secondClass)')
1つのクラスのみをチェックする必要がある場合。
if (!($('class/id/objct').hasClass('class name'))) {
//codes here...
}
変更を使用するには、フィルターを使用できます。
$(...some selector...).filter(function (){
return !$(this).hasClass('yourclass');
}).each-or-do-more