Re: [JQuery] 選取children的children
※ 引述《JYHuang (夏天到了,冷不起來了說)》之銘言:
: 為何用.children("A>IMG")或是.children("A IMG")都無效?
^^^^^^^ 這個用法是屬於filter
: 要用到$(this).children("A").children("IMG")才能選擇
這是 jQuery filter 的經典問題之一 ,
我曾經試著在 #18dmyXuJ (Ajax) , 這篇的 filter中解釋這問題.
簡單來說
以一般的 ul/li 來說 ,
$("ul").children() 實際上是這樣的 context (由很多li元素構成的陣列)
[li,li,li,.....]
也就是由 li群所構成的集合 ,
filter 的作用是將這群集合中滿足條件的資料留下來.
他只針對 jQuery context 中的資料作篩選
也就是 $("ul").children("li:first")
實際上會得到的是
[li,li,li........] <<母集合
-> 過濾條件第一個li
-> 結果 [li]
再換個selector 來舉例
$("ul").children("p")
實際上是
[li,li,li........] <<母集合
-> 過濾條件屬於 p tag的物件
-> 結果 [] (沒有任何母集合的資料滿足)
注意 , 這裡完全就只看 context 實際指到的東西 ,
不管 li 裡面還有包什麼 , 它就只看li.
────────────────────────────────
要「找到子元素中的特定元素」,該用的是 find.
以你原本的例子來看就是 $(this).find("a>img")
或者是用簡單的簡式 $(查詢字串,查詢目標)
$("a>img",$(this)) //這個code跟上面的意義一樣.
────────────────────────────────
filter 跟 find 用途跟適用的地方可以說是幾乎完全不一樣 ,
但是卻非常容易搞混(我已經看過超過五個人搞混) , 要盡量小心這點.
--
What do you want to have ? / What do you have?
從書本中,你可以發現我的各種興趣。
從CD中,你可以瞭解我所喜歡的偶像明星。
或許從文字你很難以瞭解一個人,但從物品可以。
My PPolis , My past. http://ppolis.tw/user/Tony
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.78.140
※ 編輯: TonyQ 來自: 221.169.78.140 (01/06 23:02)
推
01/06 23:09, , 1F
01/06 23:09, 1F
推
01/06 23:11, , 2F
01/06 23:11, 2F
→
01/06 23:14, , 3F
01/06 23:14, 3F
推
01/06 23:55, , 4F
01/06 23:55, 4F
推
01/07 00:40, , 5F
01/07 00:40, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章