我有一个使用标准主题的jQuery Mobile列表。
如果我使用jQuery操作DOM并删除顶部LI或底部LI(圆角),我如何让它再次绕过角落?谢谢!
答案 0 :(得分:2)
实例:
JS
$('ul#listOfSheets li:first').remove(); // removes the first li
$('#listOfSheets').listview('refresh'); // refreshes the ul list
HTML
<div data-role="content" data-theme="b">
<div>
<ul id="listOfSheets" data-role="listview" data-inset="true">
<li class="hidden"><a href="#" data-ajax="false">Link 1</a></li>
<li class="hidden"><a href="#" data-ajax="false">Link 2</a></li>
<li class="hidden"><a href="#" data-ajax="false">Link 3</a></li>
</ul>
</div>
</div><!-- /content -->
答案 1 :(得分:0)
认为你删除所有LI圆角,尝试通过class / id获取第一个和最后一个LI并仅为这两个明确删除圆角?
答案 2 :(得分:0)
我认为这里的所有答案都是对的,不提供我的标记是我的错。但是对于我的问题,事实证明我正在使用后代选择器而不是ID来访问我的listview()。
例如:
<ul data-role="listview" data-inset="true" data-theme="b" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
然后我会使用jQuery将LI附加到DOM。在附加LI后,listview数据角色小部件似乎会自行初始化。
访问ID时,您只需刷新即可。但是,在访问类或后代时,执行以下操作时会出错:
var list = $('#message-listing ul');
list.listview('refresh');
返回错误:
Uncaught cannot call methods on listview prior to initialization; attempted to call method 'refresh'
解决方案:
var list = $('#message-listing ul');
list.listview();
list.listview('refresh');
进一步阅读:
参考:http://forum.jquery.com/topic/wish-listview-refresh-would-go-away