IT story

조상이 jQuery를 사용하여 클래스를 가지고 있는지 확인하십시오.

hot-time 2020. 6. 24. 07:26
반응형

조상이 jQuery를 사용하여 클래스를 가지고 있는지 확인하십시오.


여부를 확인하기 위해 jQuery를 어떤 방법이 어떤 부모, 그랜드 부모, 훌륭한 그랜드 부모 클래스를 가지고는.

코드에서 이런 종류의 작업을 수행하도록하는 마크 업 구조가 있습니다.

$(elem).parent().parent().parent().parent().hasClass('left')

그러나 코드 가독성을 위해 이런 종류의 것을 피하고 싶습니다. "부모 / 조부모 / 조부모님은이 수업을 듣습니다"라고 말할 방법이 있습니까?

jQuery 1.7.2를 사용하고 있습니다.


if ($elem.parents('.left').length) {

}

요소 조상을 필터링하는 방법에는 여러 가지가 있습니다.

if ($elem.closest('.parentClass').length /* > 0*/) {/*...*/}
if ($elem.parents('.parentClass').length /* > 0*/) {/*...*/}
if ($elem.parents().hasClass('parentClass')) {/*...*/}
if ($('.parentClass').has($elem).length /* > 0*/) {/*...*/}
if ($elem.is('.parentClass *')) {/*...*/} 

주의 , closest() 선택기를 확인하는 동안 방법 요소 자체를 포함한다.

당신이있는 경우 또는 고유 한 선택 일치하는 $elem예를 #myElem, 당신은 사용할 수 있습니다 :

if ($('.parentClass:has(#myElem)').length /* > 0*/) {/*...*/}
if(document.querySelector('.parentClass #myElem')) {/*...*/}

스타일링 목적으로 만 조상 클래스에 따라 요소를 일치 시키려면 CSS 규칙을 사용하십시오 .

.parentClass #myElem { /* CSS property set */ }

parents지정된 .class선택자와 함께 메소드를 사용 하고 일치하는 것이 있는지 확인할 수 있습니다 .

if ($elem.parents('.left').length != 0) {
    //someone has this class
}

참고 URL : https://stackoverflow.com/questions/17084839/check-if-any-ancestor-has-a-class-using-jquery

반응형