0

我想知道我做错了什么..

我有这个 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>

我只是想不通..希望有人可以帮助我。

谢谢!

4

1 回答 1

0

动态注入数据后,您必须刷新列表视图。将数据插入 后listview,您trigger的:createpage

$("[data-role=page]").trigger("create"); 

编辑

根据您面临的问题,我认为这refresh不是适合您的解决方案。您不能将data-theme属性添加到li. 您必须将其添加到ul(li的父级)。

演示:Javascript 版本

我试图尽可能地坚持 JS。但为什么?您包括 jQuery 和 jQuery mobile,为什么不使用它呢?如果您想要一个 jQuery 解决方案,请查看您的解决方案的这个版本。

演示:jQuery 版本

于 2013-06-15T17:30:14.800 回答