2010-06-07 2 views

답변

11

당신은 태그 이름이 방법을 테스트 할 수 있습니다

jQuery('#urDivId').parent().is('body') 
1

부모 기능 jquery('#yourElement').parent();을 사용하면 몸의 직접적인 하위 항목 인 body 태그보다 신체 태그를 제공 할 수 있습니다.

+1

대문자 'Q'인'jQuery'입니다. ;-) – Tomalak

3

>은 직접 아이를 의미한다. $('body > *')은 body 태그의 모든 하위 태그를 제공하므로 :not() : $('*:not(body > *)'); 그러나 그것은 꽤 느릴 수도 있습니다.

filter() 또한 당신을 위해 일하는 것이 빠르게 할 수있다 : $('body *').filter(function(){ return $(this).parent('body') });

중 하나를 위의 당신에게 body 태그의 자식이 아닌 모든 요소의 완전한 세트를 제공해야합니다.

여기서 엄청난 수의 요소가 선택 될 수 있습니다. 당신은 당신의 선택자를 가능한 한 성능을 위해 구체적으로 만들고 싶어하고 위의 예제를 위해 사용한 와일드 카드는 피해야합니다.

1
if ($(this).parent()[0].nodeName.toLowerCase() == "body") 
{ 
// do stuff here 
} 
0

좋은 답변이 많이 있습니다. 연결에 관심이 있다면 여기 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); 
관련 문제