2012-03-28 50 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(),这将使我的对象L1标签以及

我已经提供了一个简单的例子就是我需要在这里:http://jsbin.com/esalas/5

+1

是不是这只是这个问题的重复:http://stackoverflow.com/questions/2419749/get-selected-elements-outer-html? – 2012-03-28 10:34:22

回答

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

都不错,但是outerHtml()应该是outerHTML(不是函数)。 – parserr 2012-03-28 10:37:56

+0

@parserr非常感谢。 – 2012-03-28 10:39:38

+0

item [0] .outerHTML非常感谢 – 2012-03-28 11:01:01