본문의 직접 하위 요소가 아닌 요소에 대해 몇 가지 작업을 수행하려고합니다. 특정 구성 요소가 본문의 본문인지 여부를 확인하려면 어떻게해야합니까?요소가 jQuery를 사용하여 본문의 직접 자식인지 알 수 있습니까?
감사합니다.
본문의 직접 하위 요소가 아닌 요소에 대해 몇 가지 작업을 수행하려고합니다. 특정 구성 요소가 본문의 본문인지 여부를 확인하려면 어떻게해야합니까?요소가 jQuery를 사용하여 본문의 직접 자식인지 알 수 있습니까?
감사합니다.
당신은 태그 이름이 방법을 테스트 할 수 있습니다
jQuery('#urDivId').parent().is('body')
부모 기능 jquery('#yourElement').parent();
을 사용하면 몸의 직접적인 하위 항목 인 body 태그보다 신체 태그를 제공 할 수 있습니다.
>
은 직접 아이를 의미한다. $('body > *')
은 body 태그의 모든 하위 태그를 제공하므로 :not()
: $('*:not(body > *)')
; 그러나 그것은 꽤 느릴 수도 있습니다.
filter()
또한 당신을 위해 일하는 것이 빠르게 할 수있다 : $('body *').filter(function(){ return $(this).parent('body') });
중 하나를 위의 당신에게 body 태그의 자식이 아닌 모든 요소의 완전한 세트를 제공해야합니다.
여기서 엄청난 수의 요소가 선택 될 수 있습니다. 당신은 당신의 선택자를 가능한 한 성능을 위해 구체적으로 만들고 싶어하고 위의 예제를 위해 사용한 와일드 카드는 피해야합니다.
if ($(this).parent()[0].nodeName.toLowerCase() == "body")
{
// do stuff here
}
좋은 답변이 많이 있습니다. 연결에 관심이 있다면 여기 parent() 및 :not() selector을 사용하는 또 다른 가능성이 있습니다.
var $possible_targets = [...]; // all the elements you want to check
function do_something_to_target() {
[...]; // insert blinking text code here!
}
$possible_targets.parent(':not(body)').each(do_something_to_target);
대문자 'Q'인'jQuery'입니다. ;-) – Tomalak