JQueryUI:自动添加.accordion();使用class =“accordion”的任何新元素的功能

时间:2010-09-14 16:59:21

标签: javascript jquery jquery-ui

我正在使用JQuery-UI Accordion,但我正在尝试找到一种方法,无需在添加任何新元素时进行初始化。使用AJAX我将html插入到页面中,但在任何页面加载时我都需要重新初始化任何手风琴 -

// .ajax handler
success: function(xml) {

    // find accordions
    $("div.accordion").accordion();

}

有没有什么方法可以在DOM更改后自动运行此操作?我知道有livequery插件 - 但是有更简单更优雅的方法吗?

2 个答案:

答案 0 :(得分:0)

有人可能能够提供更多信息,但我遇到了类似的情况。据我所知,你必须根据改变的DOM动态应用手风琴。您可以使用.live function并让它在加载时运行。这样的事情对我有用。

$('div.accordion').live('load', accordion());

看看这对你有帮助。

答案 1 :(得分:0)

我最终采用了不同的方法,并将功能与映射字符串联系起来。我现在使用一个属性。我根据它做了一个find()并用它的相关值加载它。

伪:$(this)[$(this).attr('ui:component')]();