2013-07-03 26 views
1

我知道空方法會刪除DOM元素中的所有子元素。JQuery的empty()方法是如何工作的?

在這個例子然而,爲什麼刪除重複的記錄空方法結果:

enter image description here

,並把它在結果在一個正常的頁面:

enter image description here

var renderNotesList = function() 
{ 
    var dummyNotesCount = 10, note, i; 

    var view = $(notesListSelector); 
    view.empty(); 

    var ul = $("<ul id =\"notes-list\" data-role=\"listview\"></ul>").appendTo(view); 

    for (i=0; i<dummyNotesCount; i++) 
    { 
     $("<li>"+ "<a href=\"index.html#note-editor-page?noteId=" + i + "\">" + "<div>Note title " + i + "</div>" + "<div class=\"list-item-narrative\">Note Narrative " + i + "</div>" + "</a>" + "</li>").appendTo(ul); 
    } 
    ul.listview(); 
}; 
+2

你能重現http://jsfiddle.net上的問題嗎? – undefined

+0

什麼瀏覽器/設備造成問題?你有谷歌關於該瀏覽器/設備和'空()'? – furas

回答

0

沒有看到如何JavaScript是在你的頁面中使用,我懷疑你必須兩次調用renderNotesList()功能,從而產生對無序列表。

當您使用.empty()方法時,您將刪除第一個ul列表,因此您只能看到一個實例。沒有電話.empty(),你保留兩個。

但是,我不能說在你的網頁上發生了什麼,或者沒有看到更多的情況,但至少你現在有了一些想法。

演示小提琴

我建立你的JavaScript演示,但我是那種在猜測你如何使用它。

小提琴:http://jsfiddle.net/audetwebdesign/UVymE/

腳註

它發生,我認爲功能ul.listview()實際上可能追加ul的第二個副本的DOM。你需要檢查代碼或張貼進一步審查。