我有一个这样的 HTML
<div>
<ul id="ulId">
<li id="liId1">
<span id="spn1-Li1">YVariable1</span>
<span id="spn2-Li1">XVariable2</span>
<span id="spn3-Li1">ZVariable3</span>
</li>
<li id="liId2">
<span id="spn1-Li2">ZVariable1</span>
<span id="spn2-Li2">YVariable2</span>
<span id="spn3-Li2">XVariable3</span>
</li>
<li id="liId3">
<span id="spn1-Li3">XVariable1</span>
<span id="spn2-Li3">ZVariable2</span>
<span id="spn3-Li3">YVariable3</span>
</li>
</ul>
</div>
景色是这样的
YVariable1 XVariable2 ZVariable3
ZVariable1 YVariable2 XVariable3
XVariable1 ZVariable2 YVariable3
但是我需要根据第一个跨度值对结果进行排序,剩下的“<li>”应该是一样的。表示单击“按按钮排序”的结果应如下所示。
XVariable1 ZVariable2 YVariable3
YVariable1 XVariable2 ZVariable3
ZVariable1 YVariable2 XVariable3
我需要在客户端(javascript 或 jQuery)。我尝试了多种方式,但我没有得到我所期望的。
我现在拥有的这段代码,同样改变了类似的方式
$('#btnOrderBy').click(function () {
var data = [];
$('#ulId li').each(function (item, value) {
$('span', value).each(function (i, v) {
data.push($(this).text());
});
});
console.log(data.sort());
});