私はこのような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());
});