作者a517981 (Azure)
看板Ajax
标题[ajax] ajax产生的新元素无法套用jQuery外挂
时间Thu Mar 17 23:55:05 2011
下面是html的程式码
<div class="job">
<h3><a href="#">标题</a></h3>
<div>内文</div>
</div>
然後套用了以下jQuery外挂
$(function() {
$(".job").accordion({
autoHeight:false,
navigation:true,
collapsible:true,
active:false
});
});
今天我用ajax在 $(".job") 的结尾又插入了一组
<h3><a href="#">标题</a></h3>
<div>内文</div>
变成了
<div class="job">
<h3><a href="#">标题</a></h3>
<div>内文</div>
<h3><a href="#">标题</a></h3>
<div>内文</div>
</div>
但是新加入的元素就不会套用外挂的效果了
虽然重新整理以後就能套用
但都使用了ajax就是希望不要重新整理或换页
也试过把外挂的那几行程式码重新呼叫一次
但还是没有用
请问要如何让新加入的元素也能套用外挂呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.116.0.116
※ 编辑: a517981 来自: 59.116.0.116 (03/17 23:56)
※ 编辑: a517981 来自: 59.116.0.116 (03/18 00:10)
1F:推 mesak:重跑一次噜 新的 DOM 不会绑到事件,在跑一次就可以了 03/18 00:24
2F:→ a517981:可是我重跑了一次那个外挂 还是不能耶 我也觉得奇怪@@ 03/18 00:47
3F:→ a517981:如果是事件的话我是用live()来绑定 不过外挂好像不能这样 03/18 00:47
4F:推 mesak:.accordion('refresh') 03/18 00:55
6F:→ a517981:喔喔!! 这是正解XD 原来要从外挂的API下手 03/18 01:03
7F:→ a517981:真的很谢谢你!! 03/18 01:03