jQuery / jQuery mobile - 在.append之后刷新页面格式

时间:2017-09-10 00:56:43

标签: javascript jquery html css jquery-mobile

我使用jQuery,jQuery mobile,js,hotml&的CSS。

我在索引页面上有一个可过滤的列表

<ul data-role="listview" data-icon="false" data-filter="true" data-filter-placeholder="Search all cards..." data-inset="true" id="menutest">

然后在js中使用.append将一些额外的LI从外部html文件引入UL。

$.get('menus/menutest.html',function(data) {
   $('#menutest').append('<li>' + data + '</li>');
})

哪个很好用,除了 - 传入的LI被删除了他们通常的jquery格式。例如,如果我把&#39;数据滤波器-揭示=&#34;真&#34; &#39;在UL中,除了新的东西外,其他一切都是隐藏的。

但是,当我开始输入过滤器框时,突然一切都被正确格式化了。即使我清除了过滤文本,也保持正确。

我无法弄清楚过滤器激活的哪个部分会更正格式,因此我可以如何强制它自己发生?

2 个答案:

答案 0 :(得分:-1)

我发现现有的LI都有分配给它们的类,但是附加的却没有。然后当激活过滤器时,突然所有LI都有类。

我仍然不知道触发了这个是什么,但我添加了以下内容,这似乎做了我需要的事情!

$.get('menus/menutest.html',function(data) {
   $('#menutest').append( data );
   $( "ul#menutest li" ).addClass( "ui-screen-hidden" );
   $( "ul#menutest li" ).addClass( "ui-li-static" );
   $( "ul#menutest li" ).addClass( "ui-body-inherit" );   
}); 

答案 1 :(得分:-1)

您需要让追加逻辑包含导致样式化的类。鉴于您上面提到的类和您的初始附加,它可能看起来像:

$.get('menus/menutest.html',function(data) {
   $('#menutest').append('<li class="ui-screen-hidden ui-li-static ui-body-inherit">' + data + '</li>');
})