Javascript 在jQuery Mobile中动态创建可折叠集
好吧,一旦我看到答案,我会觉得自己很愚蠢。我确信这一点 我已经完全按照我之前想要的方式创建了它,但是我现在正在为新版本重构我的代码。我试图在jQueryMobile中动态创建可折叠集,但我的html没有正确呈现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
<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');