<html>
<head>
<meta charset="UTF-8" />
<title>main.html</title>
<style type="text/css">
table {
width: 300pxborder : 1px solid black
border-collapse: collapse
border: 1px solid black
}
td {
border: 1px solid black
}
</style>
<script type="text/javascript">
function paiXu ()
{
var tabNode = document.getElementsByTagName ("table")[0]
var trs = tabNode.rows
var arr = new Array
for ( var x = 0x <trs.lengthx++)
{
arr.push (trs[x])
}
sortt (arr)
for ( var x = 0x <arr.lengthx++)
{
tabNode.tBodies[0].appendChild (arr[x])
}
}
function sortt (arr)
{
for ( var x = 0x <arr.lengthx++)
{
for ( var y = x + 1y <arr.lengthy++)
{
if (parseInt (arr[x].cells[1].childNodes[0].nodeValue) <= parseInt (arr[y].cells[1].childNodes[0].nodeValue))
{
var tmp = arr[x]
arr[x] = arr[y]
arr[y] = tmp
}
}
}
}
</script>
</head>
<body>
<input type="button" value="排序" onclick="paiXu()">
<table>
<tr>
<td>小明</td>
<td>23</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>小花</td>
<td>21</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>小高</td>
<td>12</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>小林</td>
<td>25</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>小王</td>
<td>35</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
使用for循环,里面使用if else语句。网上有很多实例比如 function sortAge(){//对年龄进行排序,要先进行获得每一行对象,然后对象对象中的第一个(从0 开始)的大小进行排序var tabNode = document.getElementById(tabid) var rows0 = tabNode.rows var rows1 = [] //现将元素拷贝一份出来, 第一行不用排序for (var x = 1x <rows0.lengthx++) {rows1[x - 1] = rows0[x] }for (var x = 0x <rows1.length - 1x++) {//每个元素是行对象for (var y = x + 1y <rows1.lengthy++) {//对每一行的内容进行解析成数字if (parseInt(rows1[x].cells[1].innerHTML) >parseInt(rows1[y].cells[1].innerHTML)) {//alert(aa=+x+:+rows1[x].cells[1].innerHTML) //alert(bb+rows1[y].cells[1].innerHTML) var temp = rows1[x] rows1[x] = rows1[y] rows1[y] = temp }}} /* 点击之后排序,排序之后恢复之前的状态 if (flag){ for (var x = 0x <rows1.lengthx++) {// tabNode.childNodes[0].appendChild(rows[x])//方法一: 不一定兼容rows1[x].parentNode.appendChild(rows1[x]) }}else{ for (var x = 1x <rows0.lengthx++) {// tabNode.childNodes[0].appendChild(rows[x])//方法一: 不一定兼容rows0[x].parentNode.appendChild(rows0[x]) }}flag=!flag*//* 下面的是点之后出现正序和逆序显示 正序和逆序的区别就是appendchild的前后关系而已*/var ageimg=document.getElementById(ageid)if (flag) {for (var x = 0x <rows1.lengthx++) {//排好序之后就从0开始// tabNode.childNodes[0].appendChild(rows[x])//方法一: 不一定兼容rows1[x].parentNode.appendChild(rows1[x]) }ageimg.innerHTML=年龄▲//设置上面的图标 }else{for (var x = rows1.length-1x >=0x--) {// tabNode.childNodes[0].appendChild(rows[x])//方法一: 不一定兼容rows1[x].parentNode.appendChild(rows1[x]) }ageimg.innerHTML=年龄▼}flag=!flag loading()//排序之后还要对颜色重新设置 }HTML <ul> 元素 ( 或 HTML 无序列表元素) 代表多项的无序列表,即无数值排序项的集合,且它们在列表中的顺序是没有意义的。通常情况下,无序列表项的头部可以是几种形式,如一个点,一个圆形或方形。头部的风格并不是在页面的 HTML 描述定义, 但在其相关的 CSS 可以用 list-style-type 属性。 ul 标签需要和 li 标签结合使用。
属性说明:
HTML <ol> 元素 表示多个有序列表项,通常渲染为有带编号的列表。
属性说明:
HTML 元素 (或 HTML 描述列表元素)是一个包含术语定义以及描述的列表,通常用于展示词汇表或者元数据 ( 键-值对列表 )。
HTML 的 table 元素表示表格数据 — 即通过二维数据表表示的信息。
?>属性:(写在开头标签的里面的单词就叫做该元素的属性)
浏览器运行效果如下:
把上面表格中数字为 1 和 2 的单元格进行合并,数字为 3 和 6 的单元格进行合并。
数字为 1 和 2 的单元格分别在不同的列中所以是进行了列合并,因为只需要合并两个单元格所以 colspan 的值为 2, 列合并只需要在数字为 1 的单元格中添加属性 colspan,然后把数字为 2 的单元格删除,列合并就完成了。
数字为 1 和 2 的单元格分别在不同的行中所以是进行了行合并,因为只需要合并两个单元格所以 rowspan 的值为 2, 行合并只需要在数字为 3 的单元格中添加属性 rowspan,然后把数字为 6 的单元格删除,行合并就完成了。
浏览器运行效果如下: