复制代码代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<หัว>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>读取Xml并分页</title>
</หัว>
<ร่างกาย>
<div id="gao">
</div>
<div>
<ตาราง align="center">
<tr>
<td><input type="button" name="prev" id="prev" value="上一页" onclick="showPage('false')"><input type="button" id="next" ชื่อ = "ถัดไป" value = "下一页" onclick = "showPage ('true')"> </td>
</tr>
</ตาราง>
</div>
<script type="text/javascript">
ฟังก์ชั่น LoadXML(url)
-
var xmlDoc;
ถ้า (window.ActiveXObject)
-
xmlDoc=ใหม่ ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "เท็จ";
xmlDoc.load(url);
} อื่น ๆ ถ้า (document.implementation&&document.implementation.createDocument)
-
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async=false;
xmlDoc.load(url);
}อื่น
-
alert("เบราว์เซอร์ของคุณไม่สามารถจัดการสคริปต์นี้ได้!");
-
กลับ xmlDoc;
-
var xmlDoc=LoadXML("student.xml");
นักเรียน var=xmlDoc.getElementsByTagName("นักเรียน");
var stuLength=students.length;
var currentPage=0;
var pageSize=2;
var maxPage=Math.ceil(stuLength/pageSize);
ฟังก์ชั่น showPage (หน้า)
-
var mytable=document.getElementsByTagName("ตาราง")[1];
ถ้า (mytable) document.body.removeChild (mytable);
var table=document.createElement("ตาราง");
table.setAttribute("id", "mytable");
table.setAttribute("ความกว้าง", "600");
table.setAttribute("เส้นขอบ", "1");
document.body.appendChild (ตาราง);
var header=table.createTHead();
var headerrow=header.insertRow(0);
headerrow.insertCell(0).appendChild(document.createTextNode("姓名"));
headerrow.insertCell(1).appendChild(document.createTextNode("学校"));
headerrow.insertCell(2).appendChild(document.createTextNode("成绩"))
ถ้า(หน้า=="จริง")
หน้าปัจจุบัน++;
อื่น
หน้าปัจจุบัน--;
ถ้า(หน้าปัจจุบัน>=maxPage) currentPage=maxPage;
อย่างอื่นถ้า (หน้าปัจจุบัน<=0) หน้าปัจจุบัน=1;
var start=(currentPage-1)*pageSize;
var end=currentPage*pageSize-1;
สำหรับ(var i=start;i<=end;i++)
-
var e=นักเรียน[i];
ชื่อ var=e.getAttribute("ชื่อ");
var school=e.getElementsByTagName("school")[0].firstChild.data;
var grade=e.getElementsByTagName("เกรด")[0].firstChild.data;
var row=table.insertRow(i%pageSize+1);
row.insertCell(0).appendChild(document.createTextNode(ชื่อ));
row.insertCell(1).appendChild(document.createTextNode(โรงเรียน));
row.insertCell(2).appendChild(document.createTextNode(โรงเรียน));
-
-
showPage("จริง");
</สคริปต์>
</ร่างกาย>
</html>
在编写过程过,涉及到代码的处理上,由于我最初,将javascript代码放在了head标签里 Face,结果导致document.body对象为空!
我们都知道,javascript在执行的时候,页เลดี้会暂定加载而去执行html代码,所以当js代码放在head标签中的时候,html页的还没有执行到body,故而产生了错误!
后来将js代码,放在了body的尾部,这样,就能够正确引用到body对象了!
同时,在大型网站架构中,也是提高页的加载速度的一种方式!页的首页加载html标签内容,到页的最后,在执行js代码,能在很大程度上提升网页打速度,提升用户体验!
另外的student.xml内容是
复制代码代码如下:
<?xml version="1.0" encoding="utf-8"?>
<นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大学1</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大学2</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大3学</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大学4</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大5学</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大6学</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大7学</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<school>西北8大学</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<school>西北9大学</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<school>西北10大学</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大学</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大学</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大学</school>
<เกรด>76</เกรด>
</นักเรียน>
<ชื่อนักเรียน="gaoxing">
<โรงเรียน>西北大学</school>
<เกรด>76</เกรด>
</นักเรียน>
</นักเรียน>