2012-03-28 5 views
0

Я использую JQuery, чтобы отсортировать список литиевых тегов, Мой текущий код:извлечения объектов собственных тегов

var arr = []; 
$("ul li").each(function() { 
    arr.push($(this)); 
}); 
arr.sort(cmpFunction); 
$("ul").find("li").remove(); 
$.each(arr, function(index, item){ 
    console.log(item.html()); 
}); 

Что я нахожу с console.log, хотя - это я теряю снаружи, содержащие литий теги (с данными html5 атрибутов, которые я хочу сохранить)

есть еще один вариант .html(), который даст мне объекты Li тега, а

Я представил простой пример того, что я необходимо здесь: http://jsbin.com/esalas/5

+1

это не просто дублирование этого вопроса: http://stackoverflow.com/questions/2419749/get-selected-elements-outer-html? –

ответ

6

В jQuery нет встроенной функции для этого. Чтобы обойти эту проблему, чтобы обернуть элемент в другой, а затем получить html() о том, что:

$.each(arr, function(index, item) { 
    var html = item.wrap("<div></div>").parent().html(); 
    console.log(html); 
}); 

Вы также можете вернуться к родной Javascript и использовать outerHTML - хотя я не проверял это:

$.each(arr, function(index, item) { 
    console.log(item[0].outerHTML); 
}); 
+0

все хорошо, но внешнийHtml() должен быть внешнимHTML (не функцией). – parserr

+0

@parserr Большое спасибо. –

+0

товар [0] .outerHTML работал префектура спасибо –

Смежные вопросы