需要JS的幫助。我想弄清楚如何使用子元素的值來對一堆div進行排序。我在這裏找到了一個解決方案,並嘗試修改它,但目前還沒有運氣。 請給我一些建議。謝謝JavaScript。按照孩子的價值排序排序
這個想法是根據他們的「年齡」元素排序div.person。
<!DOCTYPE html>
<html>
<head>
<title>Sort list items alphabetically with Javascript</title>
<script type="text/javascript">
function sortUnorderedList(div, sortDescending) {
if(typeof div == "number")
div = document.getElementById(div);
var lis = div.getElementsByClassName("person");
var vals = [];
for(var i = 0, l = lis.length; i < l; i++)
vals.push(lis[i].innerHTML);
vals.sort();
if(sortDescending)
vals.reverse();
for(var i = 0, l = lis.length; i < l; i++)
lis[i].innerHTML = vals[i];
}
window.onload = function() {
var desc = false;
document.getElementById("test").onclick = function() {
sortUnorderedList("list", desc);
desc = !desc;
return false;
}
}
</script>
</head>
<body>
<input type="button" id="test" value="Sort List"/>
<div id="list">
<div class="person">
<div>Jack</div>
<div>Plumber</div>
<div class="info">
<span class="age">24</span>
<span class="hair-color">Blonde</span>
</div>
</div>
<div class="person">
<div>Jill</div>
<div>Actress</div>
<div class="info">
<span class="age">18</span>
<span class="hair-color">Gray</span>
</div>
</div>
<div class="person">
<div>John</div>
<div>Driver</div>
<div class="info">
<span class="age">37</span>
<span class="hair-color">Brown</span>
</div>
</div>
</ul>
</body>
</html>
當然你的意思是'如果(typeof運算DIV == 「字符串」)'你有沒有發現 – Bergi
哪些解決方案?請鏈接它 - 並告訴我們您嘗試修改它! – Bergi
這是一個原創的解決方案 - http://jsfiddle.net/stodolaj/De8Ku/。我在這裏展示的是我的嘗試。 –