2011-09-06 6 views
0

Helo,jQuery를 사용하여 요소의 직접적인 하위 항목 모두 가져 오기

왜이 기능이 작동하지 않습니까?

$('#someID>*'); 

#someID의 직접 하위 만 가져오고 싶습니다.

<div id="someID"> 
    <p><a/></p> 
    <div><p/></div> 
</div> 

는 첫 번째 <p>과 내부 <div> 반환해야합니다.

감사합니다.

+1

실제로 무엇이 반환됩니까? – Chriszuma

+0

포인터 Chriszuma 주셔서 감사. 나는 그것이 무엇을 반환했는지 확인하는 것을 성가 시게하지 않았다. 그 사이에 또 ​​하나의 요소가 있음을 알게되었습니다. 그렇게하면 효과가 있습니다. 고맙습니다. – Francisc

답변

2

여기에서 작동 중입니다. jsFiddle.

결과가 어떻게됩니까?

+0

쓰레기, 아이들과'# someID' 사이에는 또 다른 요소가 있습니다. 죄송합니다 ... – Francisc

+1

문제 없습니다. 다행 이네. 팁 : 향후 가독성 (및 디버깅)을 위해 선택자 사이에 공백을 추가하십시오. 즉 $ ('# someID> *'); –

+0

나는 혼잡 한 코드의 팬이고, 불필요한 공백을 없앤다. 'a = b'처럼 충분하면'a = b' 등은 필요 없습니다.하지만 그건 저뿐입니다. :) – Francisc

3

는하지 않지만 예 유효한 HTML 아니다 :

<div id="someID"> 
    <p><a></a></p> 
    <div><p></p></div> 
</div> 

체크 예에서 로그 :

http://jsfiddle.net/Q6ef6/1/

첫번째 출력 P, DIV초 하나 P , a

+0

그것은 내가 얻고 싶었던 것을 보여주는 단지 예일뿐입니다. 그것은 실제 코드가 아닙니다. 또한 원한다면

을 짧게 닫을 수 있다고 생각합니다. 그러나 왜 그렇게 할 지 확신 할 수 없습니다. 그래도 고마워. 고마워. – Francisc

+0

그게 핵심입니다. 그것은 당신의 예제와 함께 작동하지 않습니다. 그래도 태그를 닫으면됩니다. – Andy

1

앵커 링크를 자동으로 닫을 수 없습니다.

이 예

잘 작동 : http://jsfiddle.net/wesbos/uBebv/

<div id="someID"> 
    <p><a></a></p> 
    <div><p/></div> 
</div> 

하고 올바르게 HTML 태그를 닫을 필요

$(function() { 
    console.log($('#someID>*')) 
}); 
+0

고마워요, 웨스. – Francisc

관련 문제