📄 books.js
字号:
function init() {
var oXmlDom = zXmlDom.createDocument();
oXmlDom.onreadystatechange = function () {
if (oXmlDom.readyState == 4) {
if (oXmlDom.parseError.errorCode == 0) {
parseBookInfo(oXmlDom);
} else {
var str = "An error occurred!!\n" +
"Description: " + oXmlDom.parseError.reason + "\n" +
"File: " + oXmlDom.parseError.url + "\n" +
"Line: " + oXmlDom.parseError.line + "\n" +
"Line Position: " + oXmlDom.parseError.linepos + "\n" +
"Source Code: " + oXmlDom.parseError.srcText;
alert(str);
}
}
};
oXmlDom.load("books.xml");
}
function parseBookInfo(oXmlDom) {
var oRoot = oXmlDom.documentElement;
var oFragment = document.createDocumentFragment();
var aBooks = oRoot.getElementsByTagName("book");
for (var i = 0; i < aBooks.length; i++) {
var sIsbn = aBooks[i].getAttribute("isbn");
var sAuthor, sTitle, sPublisher;
var oCurrentChild = aBooks[i].firstChild;
do {
switch (oCurrentChild.tagName) {
case "title":
sTitle = oCurrentChild.text;
break;
case "author":
sAuthor = oCurrentChild.text;
break;
case "publisher":
sPublisher = oCurrentChild.text;
break;
default:
break;
}
} while (oCurrentChild = oCurrentChild.nextSibling);
var divContainer = document.createElement("div");
var imgBookCover = document.createElement("img");
var divContent = document.createElement("div");
var sOdd = (i % 2)?"":"-odd";
divContainer.className = "bookContainer" + sOdd;
imgBookCover.src = "images/" + sIsbn + ".png";
imgBookCover.className = "bookCover";
divContainer.appendChild(imgBookCover);
var h3Title = document.createElement("h3");
h3Title.appendChild(document.createTextNode(sTitle));
divContent.appendChild(h3Title);
divContent.appendChild(document.createTextNode("Written by: " + sAuthor));
divContent.appendChild(document.createElement("br"));
divContent.appendChild(document.createTextNode("ISBN: #" + sIsbn));
var divPublisher = document.createElement("div");
divPublisher.className = "bookPublisher";
divPublisher.appendChild(document.createTextNode("Published by: " + sPublisher));
divContent.appendChild(divPublisher);
divContent.className = "bookContent";
divContainer.appendChild(divContent);
oFragment.appendChild(divContainer);
}
document.body.appendChild(oFragment);
}
onload = init;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -