Javascript 在jQuery Mobile中动态创建可折叠集

Javascript 在jQuery Mobile中动态创建可折叠集,javascript,jquery,html,jquery-mobile,Javascript,Jquery,Html,Jquery Mobile,好吧,一旦我看到答案,我会觉得自己很愚蠢。我确信这一点 我已经完全按照我之前想要的方式创建了它,但是我现在正在为新版本重构我的代码。我试图在jQueryMobile中动态创建可折叠集,但我的html没有正确呈现 <div data-role="header"> <h2>Playground</h2> </div> <div data-role="content"> <div da

好吧,一旦我看到答案,我会觉得自己很愚蠢。我确信这一点

我已经完全按照我之前想要的方式创建了它,但是我现在正在为新版本重构我的代码。我试图在jQueryMobile中动态创建可折叠集,但我的html没有正确呈现

  <div data-role="header">
        <h2>Playground</h2>
    </div>
    <div data-role="content">
        <div data-role="button" id="addprimary" data-inline="true">Add 5</div>
        <div data-role="collapsible">             
            <h4>Collapsible</h4> 
            <form id="makecollapsible">
            </form>
        </div>
    </div>
    <div data-role="footer">
        <h4>Please, no applause</h4>
    </div>
</div>

<script>
$('#addprimary').on('click', function () {
    Markup.Collapsible();
});

var Markup = new Object();


Markup.Collapsible = function () {

$('#makecollapsible')
.append($('<div>')
    .attr({ 'data-role': 'collapsible-set', 'id': 'primary' })
 );
for (i = 0; i < 5; i++) {
    ($('<div>')
         .attr({ 'data-role': 'collapsible', 'data-content-theme': 'c', 
              'data-collapsed': 'true' })
         .html('<h4>' + i +'</h4>'))
    .appendTo('#primary');
   }
}
</script>


游乐场
加5
可折叠
请不要鼓掌
$('#addprimary')。在('click',函数(){
Markup.collapsable();
});
var Markup=新对象();
Markup.collapsable=函数(){
$(“#使可折叠”)
.append($('')
.attr({“数据角色”:“可折叠集”,“id”:“主”})
);
对于(i=0;i<5;i++){
($('')
.attr({“数据角色”:“可折叠”,“数据内容主题”:“c”,
“数据已折叠”:“true”})
.html(“”+i+“”))
.appendTo(“#primary”);
}
}
谁能看一下这个,告诉我我做错了什么?我的
带有
数据角色='collapsable'
的文件没有呈现为可折叠文件,这也会影响我稍后尝试放入其中的HTML


感谢您的帮助,谢谢

标记.可折叠的
函数中,并在其末尾添加以下内容。对于可折叠集,您需要告诉jQM您正在增强一个
.collapsableset()
,并将其与
.trigger('create')
组合



我忘了提到动态追加项时,调用父元素上的增强方法;这样做,将增强儿童元素。因此,您不需要为每个可折叠的附加项使用
.collapsable().trigger('create')

我在这里展示的是一个简单但有效的方法:


//动态创建10个可折叠项,并将它们附加到可折叠集
var jj=“添加了超级项目..”;
$('[data role=“content”]')。追加('');
var计数;
对于(count=0;count<10;count++){//div id应该从id='c0'到'c9'
$(“#集”)。附加(“”);
$(“#c”+count.toString()).append('Adding element#'+count+'');
$(“#c”+count.toString()).append(jj+'count'+count+'');
}
//任何一个都经过测试,可在以下情况下工作:
//$('[data role=“content”]')。触发器('create');
$(“#集”).collapsableset(“刷新”);

--演示--

你肯定还是应该在问题中张贴你的代码。你能描述一下你看到了什么或你认为错了什么吗?如果我看你的小提琴,点击“添加5”按钮,然后点击可折叠元素,它会打开,里面有你的内容。我会觉得一切对我都很好。你希望看到什么?@BradleyBossard他想要:)@BradleyBossard我需要增强的jQueryMobile DOM元素,而不仅仅是HTML本身。奥马尔的解决方案正是我所需要的。非常感谢。
$('#makecollapsible').collapsibleset().trigger('create');