Re: [JQuery] 選取children的children

看板Ajax作者 (沉默是金)時間16年前 (2009/01/06 23:02), 編輯推噓4(401)
留言5則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《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
$(#TonyQ).send('感謝') XDD
01/06 23:09, 1F

01/06 23:11, , 2F
發文前有去翻那些文,結果還是漏看了 囧>
01/06 23:11, 2F

01/06 23:14, , 3F
應該說這本來在沒碰到問題之前就不好懂. :p
01/06 23:14, 3F

01/06 23:55, , 4F
推~ 感覺以後一定會用到 XD
01/06 23:55, 4F

01/07 00:40, , 5F
有下有推~(咦
01/07 00:40, 5F
文章代碼(AID): #19OtAO1e (Ajax)
討論串 (同標題文章)
文章代碼(AID): #19OtAO1e (Ajax)