수업이 없는지 어떻게 확인하나요? 예를 들어, "test"클래스가 있는지 확인하는 방법을 알고 있지만 "test"클래스가 없는지 어떻게 확인합니까?
if($(this).hasClass("test")){
}
수업이 없는지 어떻게 확인하나요? 예를 들어, "test"클래스가 있는지 확인하는 방법을 알고 있지만 "test"클래스가 없는지 어떻게 확인합니까?
if($(this).hasClass("test")){
}
답변:
if (!$(this).hasClass("test")) {
sdleihssirhc의 대답은 물론 문제의 경우에 맞는 대답이지만 특정 클래스가없는 요소를 선택 해야하는 경우 참고로 not 선택기를 사용할 수 있습니다 .
// select all divs that don't have class test
$( 'div' ).not( ".test" );
$( 'div:not(.test)' ); // <-- alternative
당신은 이것을 시도 할 수 있습니다 :
<div id="div1" class="myClass">there is a class</div>
<div id="div2"> there is no class2 </div>
$(document).ready(function(){
$("#div2").not('.myClass'); // do not have `myClass` class.
});
이것이 작동하지 않는 더 복잡한 시나리오가 있습니다. 클래스 A의 요소가 포함되지 않은 클래스 A의 요소를 선택하려면 어떻게해야합니까?
이 6 년 후를 읽고 TIMTOWTDI vein ... : D 에서도 해킹을 당할 것이라고 생각했습니다 .'JS 에티켓 '이 잘못되기를 바랍니다.
나는 보통 조건으로 var를 설정하고 나중에 참조한다.
// var set up globally OR locally depending on your requirements
var hC;
function(el) {
var $this = el;
hC = $this.hasClass("test");
// use the variable in the conditional statement
if (!hC) {
//
}
}
조건부 삼항 연산자를 주로 사용하고 깨끗한 코드를 원하기 때문에이 작업을 수행한다고 언급해야합니다. 따라서이 경우 내가 가진 것은 이것입니다.
hC ? '' : foo(x, n) ;
// OR -----------
!hC ? foo(x, n) : '' ;
...이 대신에 :
$this.hasClass("test") ? '' : foo(x, n) ;
// OR -----------
(!$this.hasClass("test")) ? foo(x, n) : '' ;
이유를 모르겠지만 허용 된 답변이 효과가 없었습니다. 대신 이것은 효과가 있었다 :
if ($(this).hasClass("test") !== false) {}
if($(this).is(":not(.test)"))
> :)