jQuery Mobile - 修改列表和更新角点

时间:2011-10-07 01:48:07

标签: jquery jquery-mobile

我有一个使用标准主题的jQuery Mobile列表。

如果我使用jQuery操作DOM并删除顶部LI或底部LI(圆角),我如何让它再次绕过角落?谢谢!

3 个答案:

答案 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