JQuery mobile - > .append()删除CSS?

时间:2011-08-29 06:52:16

标签: jquery css xml append

将项目追加到我的列表时,jquery mobile的完整风格已经消失......不知道如何解决这个问题?

目前正在使用:当不附加列表项时,所有样式都可以。

<div class="ui-grid-a">
                <div class="ui-block-a" id="blockaid">
                    <ul id="leftnav" data-role="listview" data-theme="g" data-filter="true" >

                        <li><a href="index.html">
                                <img src="images/bb.jpg" />
                                <h3>Firstname Lastname</h3>
                                <p>123456789</p>
                            </a></li>
                    </ul>

                </div>

               <div class="ui-block-b">
                ...

但是如果我开始使用从其他地方读取数据,那么所有样式都会消失:

        $(document).ready(function() {

            $.ajax({
                url: 'test.xml', 
                dataType: "xml",
                success : parse,
                error : function (xhr, ajaxOptions, thrownError){  
                    alert(xhr.status);          
                    alert(thrownError);
                } 


            });

            function parse(document){
                $(document).find("Details").each(function(){


                    $("#leftnav").append(


                    '<li>' + '<a href="#">' + '<img src="images/album-xx.jpg" />' +
                        '<h3>' + $(this).find('Name').text() + '</h3>' +
                        '<p>' + $(this).find('Number').text() + '</p>' +
                        '</a>' + '</li>'
                );
                });
            }
        });

怎么了?

谢谢!

1 个答案:

答案 0 :(得分:10)

好吧,要在新元素上触发自动样式,使用.trigger("create")应该可以完成这项工作。

请参阅:Is it possible to create element on the fly with jQuery Mobile?

http://jquerymobile.com/demos/1.0b2/#/demos/1.0b2/docs/pages/page-scripting.html

编辑:$('#leftnav').listview('refresh')是您要寻找而不是创造的东西。

请参阅:http://api.jquerymobile.com/listview/#method-refresh