我不知道,试着找到简单的方法来排序2个父母的项目就像另一个。 我对排序功能非常糟糕
HTML:
timezone
vienna: 1
将与denver: -7
对此:
var date = new Date( new Date().getTime() + offset * 3600 * 1000);
这是我到目前为止的jQuery:
<div class="a">
<h2>A :</h2>
<li>One</li>
<li>2</li>
<li>Ipsum</li>
<li>4</li>
<li>5</li>
</div>
<div class="b">
<h2>B :</h2>
<span>#5</span>
<span>#One</span>
<span>#Ipsum</span>
<span>#4</span>
<span>#2</span>
</div>
现场演示: http://jsfiddle.net/nu6zts1y/
我也在寻找好的表现(可以使用Native JS)
更新:很抱歉,文字将是文字,而不仅仅是数字
答案 0 :(得分:0)
<强>更新强>
您可以使用Array.prototype.sort()并手动映射/检查字符串编号
var map = {
'#One': 1,
'#Two': 2,
'#Three': 3,
'#Four': 4,
'#Five': 5
};
$('.b').append($($('.b span').get().sort(function(a, b) {
var aInt = !parseInt(a.textContent.replace('#', '')) ? map[a.textContent] : a.textContent.replace('#', '');
var bInt = !parseInt(b.textContent.replace('#', '')) ? map[b.textContent] : b.textContent.replace('#', '');
if (aInt < bInt) {
return -1;
}
if (aInt > bInt) {
return 1;
}
// a must be equal to b
return 0;
})));
&#13;
div {
display: inline-block;
padding: 10px;
width: 100px;
background: #333;
color: #fff;
}
li,
span {
display: block;
border-bottom: 1px solid #888;
}
.junk {
display: none;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div class="a">
<h2>A :</h2>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</div>
<div class="b">
<h2>B :</h2>
<span>#5</span>
<span>#One</span>
<span>#3</span>
<span>#4</span>
<span>#2</span>
</div>
&#13;
答案 1 :(得分:0)
您可以使用:
$('.b').find('span').sort(function (a, b) {
return parseInt($(a).html().replace('#',''),10) -parseInt($(b).html().replace('#',''),10)
}).appendTo('.b');
<强> Working Demo 强>