作者goode9969 (T-bone)
看板Ajax
標題[問題] ajax傳回的資料selector找不到?
時間Sun Mar 4 11:33:22 2012
請問我用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
1F:推 mrbigmouth:jquery1.7.1以前 請用live綁定尚未出現的元素的事件 03/04 11:57
2F:→ mrbigmouth:1.7.1以後可以用on 03/04 11:57
3F:→ mrbigmouth:當然你也可以直接再ajax的callback裡去綁click... 03/04 11:58
4F:→ mrbigmouth:詳細用法 自己google jquery live或jquery on應該很多 03/04 11:59
5F:推 musie:我倒是覺得應該該不會是你 d1沒加# 03/04 12:07
6F:→ musie:用$("#d1").delegate(".sd" ,click , function) 效率會更好 03/04 12:08
抱歉,是我筆誤= = 已修改
幾種方法測試後都可使用 太感謝兩位
※ 編輯: goode9969 來自: 111.255.192.133 (03/04 12:25)
7F:→ mrbigmouth:忘掉delegate了...基本上on可以取代delegate... 03/04 12:55
8F:→ mrbigmouth:(而且短的多 不用記單字= =) 03/04 12:55