2012-09-16 42 views
1

我確定有人會改變我的標題,但我喜歡它,而它持續。

無論如何,赫克托爾做的這件事(正如我七歲的孩子所說的那樣)?

$('#id').find('> a')... 

順便說一句,我得到$('#parent > .child')相同$('#parent').children('.child')(如解釋here),不是說我曾經使用過。

回答

3

使用> a沒有指定的父母實際上是不贊成使用的語法,因爲你已經發現它有不明確的語義。 .find('> a')實際上相當於.children('a')

http://api.jquery.com/child-selector/

注:$("> elem", context)選擇將在未來的版本中將會棄用。因此,它的使用不再使用替代選擇器。

[記住,$(sel, context)相當於$(context).find(sel)]

+0

謝謝。我會接受時間:) – Nick

+0

您可能需要根據下面的討論更新您的答案,以表明它相當於.children而不是.find :) – Nick

+0

@Nick嚴格上面的答案仍然是100%正確的 - '.find('> a')'現在等價於'.children('a')'。不過,我在尼爾森刪除答案中的評論是不正確的。 AIUI他們打算棄用的是使用啓動'>> ...「'的選擇器。 – Alnitak

1

.find()通常用來選擇後代多層次的下降,但是,在你的情況下,加入>a限制了選擇,以獨生子女之前(或僅當您使用CSS類代替#id時纔是第一級)。

它基本上與$('#id > a')$('#id').children('a')相同,但帶有一個額外的函數調用。

你的標題是完美的,順便說一下:)

+0

是的,你是對的:)我只是通過反覆試驗發現了這一點,並且返回了同樣多的注意,即相當於'.children()'不''.find()'。很高興你喜歡這個標題:) – Nick

1

當您嘗試使用下面的查詢

$("#master").find('> a')

然後它會找到所有具有屬性的元素中的第一個級別的錨定元素找到一個元素ID =「主人」

而當你嘗試使用下面的查詢,以找到一個元素

$("#master").find('a')

然後它會找到元素中所有具有屬性id ='master'的錨元素,而不管它在什麼級別。

+0

是的,所以我發現了。謝謝 :) – Nick