2011-09-06 116 views
0

直升,使用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 ,一個

+0

這只是一個例子,顯示我想要得到的,這不是真正的代碼。另外,如果你願意,我認爲你可以短期關閉

,但不知道爲什麼你會這麼做。只是一個例子,謝謝。 – Francisc

+0

這就是要點。它不適用於你的例子。它儘管結束標籤。 – Andy

1

不能自我封閉的錨鏈接。

這個例子正常工作:http://jsfiddle.net/wesbos/uBebv/

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

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

謝謝,韋斯。 – Francisc

相關問題