在jquery mobile中dynamic添加<li />到<ul />

我试图添加列表项到无序列表jquery移动,但格式似乎并没有正确创build。

<ul data-role="listview" data-theme="c" data-dividertheme="b"> <li data-role="list-divider"> Title Divider </li> <li> <a href="test.html" data-transition="slide">List item 1</a> </li> </ul> 

脚本:

 $('ul').append('<li><a>hello</a></li>'); 

出于某种原因,dynamic生成的li不会显示与静态创build的li相同的方式。 有谁知道为什么以及如何使它一样?

尝试这个:

 $('ul').append($('<li/>', { //here appending `<li>` 'data-role': "list-divider" }).append($('<a/>', { //here appending `<a>` into `<li>` 'href': 'test.html', 'data-transition': 'slide', 'text': 'hello' }))); $('ul').listview('refresh'); 

提供的答案结果是有点混乱…

$('ul').append('<li><a>hello</a></li>'); 是好的,但它需要刷新列表视图,所以你需要的是:

 $('ul').append('<li><a>hello</a></li>').listview('refresh'); 

如果你想改变UL的属性,你可能需要为封闭的div调用.trigger('create')。 这确保了UL重新创build属性。

您的<a>标记没有引用网页。

尝试:

  $('ul')。append('<li> <a href="test2.html' data-transition="slide" /> List Item 2 </ li>'); 

您将不得不添加一个类到列表标记

 $('<ul>').append( $('<li>').attr('class','ui-li ui-li-static ui-btn-up-c ui-li-last').append('hello')) ; 

JQuery Mobile会自动向列表项添加一个类,如果你在firefox中运行你的页面并使用萤火虫进行debugging,可以看到它。 select已经应用的类,并将其添加到您的dynamic生成的li标签。