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

loc*_*boy 40 jquery html5 jquery-mobile

我正在尝试将列表项添加到jquery mobile中的无序列表,但似乎没有正确创建格式.

<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>
Run Code Online (Sandbox Code Playgroud)

脚本:

$('ul').append('<li><a>hello</a></li>');
Run Code Online (Sandbox Code Playgroud)

由于某种原因,动态生成的li不会显示与静态创建的li相同的方式.有谁知道为什么以及如何让它变得一样?

the*_*dox 87

试试这个:

$('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');
Run Code Online (Sandbox Code Playgroud)

  • 在附加`<li>`之后@ cfarm54你需要调用`$('ul').listview('refresh')`进行刷新.试试这个,如果不是,请评论我. (4认同)

nau*_*tur 45

提供的答案结果有点凌乱......

$('ul').append('<li><a>hello</a></li>'); 没关系,但需要刷新列表视图,所以你只需要:

$('ul').append('<li><a>hello</a></li>').listview('refresh');
Run Code Online (Sandbox Code Playgroud)

  • 如果OP是@ cfarm54而我是@naugtur,我怎么回答我自己的问题? (29认同)
  • @EJP - 即使他确实回答了他自己的问题,这也是对stackexchange的鼓励做法,他不应该因此而受到惩罚. (7认同)