[問題] ajax傳回的資料selector找不到?

看板Ajax作者 (T-bone)時間14年前 (2012/03/04 11:33), 編輯推噓2(206)
留言8則, 2人參與, 最新討論串1/1
請問我用ajax傳回的資料大概如下 get.php: echo "<ul> <span class='sd'><img src='...'/></span> </ul>"; 使用jQuery index.js: function test(){ $.ajax({ url:"get.php", success:function(re){ $("#d1").html(re); } }); } test(); $(".sd").click(function(){alert("!!");}); index.php: <div id="d1">...</div> <div id="d2">...</div> selector居然都找不到.sd 但是我改成 $("#d2").click(alert("!!"); 馬上就有反應了 這是代表後來加入的資料無法被selector找到嗎? 該如何解決呢? 承蒙高手解答了 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.255.192.133

03/04 11:57, , 1F
jquery1.7.1以前 請用live綁定尚未出現的元素的事件
03/04 11:57, 1F

03/04 11:57, , 2F
1.7.1以後可以用on
03/04 11:57, 2F

03/04 11:58, , 3F
當然你也可以直接再ajax的callback裡去綁click...
03/04 11:58, 3F

03/04 11:59, , 4F
詳細用法 自己google jquery live或jquery on應該很多
03/04 11:59, 4F

03/04 12:07, , 5F
我倒是覺得應該該不會是你 d1沒加#
03/04 12:07, 5F

03/04 12:08, , 6F
用$("#d1").delegate(".sd" ,click , function) 效率會更好
03/04 12:08, 6F
抱歉,是我筆誤= = 已修改 幾種方法測試後都可使用 太感謝兩位 ※ 編輯: goode9969 來自: 111.255.192.133 (03/04 12:25)

03/04 12:55, , 7F
忘掉delegate了...基本上on可以取代delegate...
03/04 12:55, 7F

03/04 12:55, , 8F
(而且短的多 不用記單字= =)
03/04 12:55, 8F
文章代碼(AID): #1FKkA4yD (Ajax)
文章代碼(AID): #1FKkA4yD (Ajax)