我想知道我做错了什么..
我有这个ul:
<ul id="songlist" data-role="listview" data-divider-theme="b" data-inset="true">
<li data-role="list-divider" role="heading">
Crowdlist
</li>
和此函数用于添加列表项:
function insertItem(myid,position,newListItem) {
var ul = document.getElementById(myid);
var li = document.createElement("li");
li.innerHTML=newListItem;
ul.insertBefore(li, ul.getElementsByTagName("li")[position]);
}
调用这样的函数:
insertItem('songlist',1,'<li data-theme="c" onclick="vote('+song+')">'+interpret+" - "+songtitle+'</li>');
添加了一个列表元素,但看起来不像我可以用
添加的jQuery列表元素<li data-theme="c">dewf</li>
我无法弄清楚..希望有人可以帮助我。
谢谢!
答案 0 :(得分:0)
动态注入数据后,您必须刷新列表视图。在listview
上将数据插入trigger
,create
和page
之后:
$("[data-role=page]").trigger("create");
修改强>
根据您遇到的问题,我认为refresh
不适合您。您无法将data-theme
属性添加到li
。您必须将其添加到ul
(li
的父级)。
我尽可能地坚持使用JS。但为什么?你包括jQuery和jQuery mobile,为什么不在你拥有它时使用它呢?如果您需要jQuery解决方案,请查看此版本的解决方案。
演示:jQuery Version。