可能的重复:
动态增加可折叠的元素

我想知道我怎么能动态添加一个可折叠div,这样的事情是可以做到与气箱列表视图,呼吁lisview("刷新"之后)

这里是测试码:

http://jsfiddle.net/ca11111/UQWFJ/5/

编辑:在上所述,它所附的和呈现方式,但多次

edit2:似乎这样的工作?

有帮助吗?

解决方案

怎么忽略 refresh 因为你是初始化的元素(不爽的话):

$('<div data-role="collapsible" data-collapsed="true"><h3>22</h3><span>test</span></div>').appendTo($('#coll div:first'));

$('#coll').find('div[data-role=collapsible]').collapsible();  

这里是一个更新版本的JSFiddle: http://jsfiddle.net/UQWFJ/7/ (请注意,我改变了你 setTimeout 来一个 setInterval 不断添加新的内容DOM)

你也可以优化这个过节省的新的元素中的一个可变因此你可以打电话 .collabsible() 在这素:

var $element = $('<div data-role="collapsible" data-collapsed="true"><h3>22</h3><span>test</span></div>').appendTo($('#coll div:first'));

$element.collapsible();  

这里是一个JSFiddle与这一优化: http://jsfiddle.net/UQWFJ/9/

其他提示

jQM文档:

  • http://jquerymobile.com/demos/1.0。 1 / docs / pages / page-scripting.html

    增强新标记
    页面插件将调度pagecreate事件,大多数小部件都使用该事件来自动初始化自身。只要 当引用了小部件插件脚本时,它将自动增强 它在页面上找到的所有小部件实例。

    但是,如果您在客户端生成新的标记或通过以下方式加载内容 Ajax并将其注入页面中,您可以触发create事件来 处理其中包含的所有插件的自动初始化 新的标记。可以在任何元素(甚至页面)上触发 div本身),省去了手动初始化每个插件的任务 (列表视图按钮,选择等)。

    例如,如果加载了HTML标记块(例如登录表单) 通过Ajax进入,触发create事件以自动转换 它包含的所有小部件(在这种情况下为输入和按钮) 增强版本。此方案的代码为: 通用标签

我不确定这是否是您想要的,但是如果您要做的就是能够动态添加可折叠的div,则可以在代码端执行此操作。例如,我使用aspx.vb,但如果您使用其他语言,则可以轻松地适应您的情况。在您的.aspx(html代码)中,将此行代码写在您希望动态html代码出现的位置。 通用标签

完成此操作后,右键单击屏幕并选择“查看代码”

然后您添加此 通用标签

这将动态添加7个可折叠div列表栏。您可以通过更改“ dblNumCollapsibles”来更改此设置

创建可折叠div的html动态添加到某个div并在该div上调用.trigger('create') $(div).trigger('create')这将创建该div并呈现可折叠的div

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top