看板 Ajax 關於我們 聯絡資訊
※ 引述《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)
JYHuang:$(#TonyQ).send('感謝') XDD 01/06 23:09
JYHuang:發文前有去翻那些文,結果還是漏看了 囧> 01/06 23:11
TonyQ:應該說這本來在沒碰到問題之前就不好懂. :p 01/06 23:14
chrisQQ:推~ 感覺以後一定會用到 XD 01/06 23:55
gpmm:有下有推~(咦 01/07 00:40