<div id="1">1</div>
<div id="5">5</div>
<div id="20">20</div>
<div id="7">7</div>
<input type=button value=倒序 onclick="arrange(1)">
<script language=javascript>
div=document.all.tags('div')
for(i=0;i<div.length;i++)arr[i]=div[i].outerHTML;
function arrange(t){
if(t==1){
for(i=0;i<div.length;i++)div[i].outerHTML=arr[div.length-i-1];
}
}
</script> 这个代码只是将div倒序了一次,我想要的是让div按id的从小到大排列,请高手指点一下,先谢过了。
<div id="5">5</div>
<div id="20">20</div>
<div id="7">7</div>
<input type=button value=倒序 onclick="arrange(1)">
<script language=javascript>
div=document.all.tags('div')
for(i=0;i<div.length;i++)arr[i]=div[i].outerHTML;
function arrange(t){
if(t==1){
for(i=0;i<div.length;i++)div[i].outerHTML=arr[div.length-i-1];
}
}
</script> 这个代码只是将div倒序了一次,我想要的是让div按id的从小到大排列,请高手指点一下,先谢过了。
<body>
<div id="1" >1 </div >
<div id="5" >5 </div >
<div id="20" >20 </div >
<div id="7" >7 </div >
<div id="22" >* </div >
</body><script type="text/javascript">
//<![CDATA[
//比较两个div的id
function compare(div1, div2)
{
var _id1 = parseInt(div1.getAttribute("id"), 10);
var _id2 = parseInt(div2.getAttribute("id"), 10);
if (_id1 > _id2)
return 1;
else if (_id1 < _id2)
return -1;
else
return 0;
}
//获取所有的div,并将其放入到Array中
var divs = document.getElementsByTagName("div");
var divArray = new Array();
for (var i = 0; i < divs.length; i++)
divArray.push(divs[i]);
//排序
divArray.sort(compare);
//将排序的div绑定到页面上
for (var i = 0; i < divArray.length; i++)
{
document.body.appendChild(divArray[i]);
}
//]]>
</script>
<div id="5" ><u>5</u></div >
<div id="20" >20 </div >
<div id="7" >7 </div > 里面有修饰的HTML语言,就会出错。是不是appendChild不支持啊?
<div id="2"> <font color=red>2</div> 如果font没有结束,就会出错。
而:
<div id="1" > <font color=red >1 </div >
<div id="2" > <font color=red >2 </div >
<font>标签没有关闭,不是格式良好的。使用js DOM解析会不正常
var arr = new Array();
for(i=0;i <div.length;i++)arr[i]=div[i].outerHTML;
for(i=0;i <div.length;i++)div[i].outerHTML=arr[div.length-i-1]; 这样的话,可以,但只是倒序了下,能不能帮我修改一下?我对JAVA还不太了解,希望前期先领入门一下。