我想将手风琴添加到动态添加的标签中。此选项卡由服务器的回发数据生成。我该怎么办?
回发后的数据类似于
<div id ="newtab">
<div id = "accordion"> ...</div>
...
</div>
我有
$("#accordion1).accordion();
添加选项卡之前,但它不起作用。
答案 0 :(得分:4)
当我遇到这篇文章时,我正在寻找类似问题的解决方案。但在这里你必须导入一个插件 我尝试了另一个选项,它对我有用。
添加动态数据后,调用手风琴的destroy方法。像这样:
.accordion( "destroy" );
并使用相同的选项再次初始化手风琴,您之前应用于div:)
答案 1 :(得分:3)
好像你已经在问题中找到了问题:
$("#accordion1).accordion();
在添加标签之前,但它无效。
在将新元素添加到DOM之后(即在AJAX调用的success
函数中),您需要再次初始化手风琴。
您的jQuery选择器$("#accordion")
仅选择当前位于文档中的元素。您可以使用.livequery
之类的插件在新元素上自动调用您想要的函数。
如果你不反对使用上面提到的livequery插件,这是一个例子:
$("#accordion").livequery(function () {
$(this).accordion();
});
这将使用id
#accordion
添加到DOM的任何元素成为手风琴。