Javascript jQM 1.4.2动态内容更改后未正确刷新可折叠集

Javascript jQM 1.4.2动态内容更改后未正确刷新可折叠集,javascript,jquery,html,css,jquery-mobile,Javascript,Jquery,Html,Css,Jquery Mobile,我知道以前有人问过这个问题,我读过所有的答案。它们都不起作用 我有一个包含5个可折叠元素的可折叠集合 <div data-role="collapsibleset" id="mySet" data-inset="false" class="ui-nodisc-icon ui-alt-icon"> <div data-role="collapsible" id="1"> </div> <div data-role="collapsible" i

我知道以前有人问过这个问题,我读过所有的答案。它们都不起作用

我有一个包含5个可折叠元素的可折叠集合

<div data-role="collapsibleset" id="mySet" data-inset="false" class="ui-nodisc-icon ui-alt-icon">
  <div data-role="collapsible" id="1">
  </div>
  <div data-role="collapsible" id="2">
  </div>
  <div data-role="collapsible" id="3" >
  </div>
  <div data-role="collapsible" id="4">
  </div>
  <div data-role="collapsible" id="5">
  </div>
</div>
其中键是div的id,myHTMLString是在jQuery中构造的

这在您第一次进入页面时效果很好,但之后可折叠集将丢失所有格式设置。第一次访问时,可折叠标题周围没有锚,也没有带有class=“ui可折叠内容ui body inherit”的div

我已经试过了这两种方法的每一种组合

$('#mySet').collapsibleset().trigger('create');
$("#mySet").collapsibleset("refresh");
$( "#mySet" ).trigger( "updatelayout" );
$("#mySet").enhanceWithin();
还有更多我能找到的。没有什么能改变它

你知道为什么吗?如果它根本不起作用,但第一次没问题,第二次没问题,我就不会那么困惑了?奇怪

编辑:

我修改了代码,使h4和p标记位于html文档中,而不是动态插入,我将数据添加到它们中,如下所示:

 $('#' + key + "_head").html(myHeadingHTMLString);
 $('#' + key + "_content").html(myContentHTMLString);
这已经恢复了可折叠的div,但仍然删除了格式,因为在第二次访问(第一次仍然可以正常工作)时,锚定标记使用

<a href="#" class="ui-collapsible-heading-toggle ui-btn ui-btn-icon-left ui-icon-plus ui-btn-inherit"> 

未在第二次访问时添加

究竟为什么不呢?我在构建它的最后使用了.collapsableset(),无论我做什么都一样。

试试:

$("#mySet").enhanceWithin().collapsibleset('refresh');

.collapsableset()就足够了。我已经试过了(只是又测试了一次)。它不起作用。它在第一次(总是)工作,但在那之后不工作。何时加载动态元素?何时加载页面。单击指向页面的链接,该页面是一个普通的锚定。它有一个绑定的点击处理程序,然后构建页面。当我们构建整个页面时,一切正常,但现在我们正试图在html页面中留下尽可能多的静态代码。之前,我们构建了整个可折叠模型,包括所有div。但是我们不需要这样做——为了性能起见,我们只是试图操纵div的内容。第二次单击时是否触发
单击事件?您是否在该特定页面的
pagecreate
中包装代码?
$("#mySet").enhanceWithin().collapsibleset('refresh');