2013-07-03 5 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

어떤 브라우저/장치가 문제입니까? 해당 브라우저/장치와'empty()'에 대해 Google에 알려 주시겠습니까? – furas

답변

2

empty()이 작동하지 않지만 이걸 찾았는지 모르겠다.

... 이렇게 정렬 할 때까지 모두 다음을 사용해야합니다. el.children(). remove(); 대신 el.empty(); 당신은 두 번 renderNotesList() 함수를 호출함으로써 정렬되지 않은 목록에 생성되어야합니다 자바 스크립트가 페이지에서 어떻게 사용되고 있는지 보지 않고

(jQuery.empty() does not destroy UI widgets, whereas jQuery.remove() does (using UI 1.8.4))

0

, 나는 생각한다.

.empty() 메서드를 사용하면 첫 번째 ul 목록을 제거하므로 인스턴스가 하나만 표시됩니다. .empty() 전화가 없으면 둘 다 보유합니다.

그러나 웹 페이지에서 더 이상 보지 않고 어디에서 또는 어떻게 발생하는지 말할 수는 없지만, 적어도 이제는 무엇을 찾아야할지 생각할 수 있습니다.

데모 바이올린 나는 자바 스크립트를 사용하여 데모를 내장,하지만 난 종류의 당신이 그것을 사용하는 방법으로 추측했다.

바이올린 : http://jsfiddle.net/audetwebdesign/UVymE/

각주

함수 ul.listview() 실제로 DOM에 ul 번째 복사본을 추가 할 수 있다는 떠올랐다. 추가 검토를 위해 코드를 확인하거나 게시해야합니다.

관련 문제