本文给大家介绍 javascript 操作 xml/html 比较常用的对象属性,涉及到 js 对象属性相关知识,对 JavaScript 操作 XML/HTML 比较常用的对象属性感兴趣的朋友可以参考下本文
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
节点对象属性
childNodes—返回节点到子节点的节点列表
firstChild—返回节点的首个子节点。
lastChild—返回节点的最后一个子节点。
nextSibling—返回节点之后紧跟的同级节点。
nodeName—返回节点的名字,根据其类型。
nodeType—返回节点的类型。
nodeValue—设置或返回节点的值,根据其类型。
ownerDocument—返回节点的根元素(document 对象)。
parentNode—返回节点的父节点。
previousSibling—返回节点之前紧跟的同级节点。
text—返回节点及其后代的文本(IE 独有)。
xml—返回节点及其后代的 XML(IE 独有)。
节点对象的方法
appendChild()—向节点的子节点列表的结尾添加新的子节点。
cloneNode()—复制节点。
hasChildNodes()—判断当前节点是否拥有子节点。
insertBefore()—在指定的子节点前插入新的子节点。
normalize()—合并相邻的 Text 节点并删除空的 Text 节点。
removeChild()—删除(并返回)当前节点的指定子节点。
replaceChild()—用新节点替换一个子节点。
IE6 独有
selectNodes()—用一个 XPath 表达式查询选择节点。
selectSingleNode()—查找和 XPath 查询匹配的一个节点。
transformNode()—使用 XSLT 把一个节点转换为一个字符串。
transformNodeToObject()—使用 XSLT 把一个节点转换成为一个文档。
NodeList 对象
length –返回节点列表中的节点数目。
item()—返回节点列表中处于指定的索引号的节点。
例如:
Javascript 代码
- xmlDoc = loadXMLDoc("books.xml");
- var x = xmlDoc.getElementsByTagName("title");
- document.write("title element:" + x.length);
输出:title element:4
Javascript 代码
- var y = xmlDoc.documentElement.childNodes;
- document.write(y.item(0).nodeName);
输出:book
NamedNodeMap 对象
length—返回列表中节点数目。
getNamedItem()—返回指定的节点。(通过名称)
item()—返回处于指定索引号的节点。
removeNamedItem()—删除指定的节点(根据名称)。
例如:
Javascript 代码
- xmlDoc = loadXMLDoc("books.xml");
- var x = xmlDoc.getElementsByTagName("book");
- document.write(x.item(0).attributes.length);
输出:1
Javascript 代码
- document.write(x.item(0).attributes.getNamedItem("category");
输出:COOKING
Javascript 代码
- x.item(0).attributes.removeNamedItem("category");
删除第一个 book 元素的 category 属性
Document 对象代表整个 XML 文档。
Document 对象的属性。
async—规定 XML 文件的下载是否应当被同步处理。
childNodes—返回属于文档的子节点的节点列表。
doctype—返回与文档相关的文档类型声明。
documentElement—返回文档的子节点。
firstChild—返回文档的首个子节点。
implementation—返回处理该文档的 DOMImplementation 对象。(IE 没有)
lastChild—返回文档的最后一个子节点。
nodeType—返回节点类型。
nodeName—依据节点的类型返回其名称。
nodeValue—依据节点的类型返回其值。
text—返回节点及其后代的文本(IE 独有)。
xml—返回节点及其后代的 XML(IE 独有)。
Document 对象的方法
createAttribute(att_name)—创建拥有指定名称的属性节点,并返回新的属性对象。
createCDATASection(data)—创建 CDATA 区段节点。
createComment(data)—创建注释节点。
createDocumentFragment—创建空的 DocumentFragment 对象,并返回此对象。
createElement(node_name)—创建元素节点。
createEntityReference(name)—创建 EntityReference 对象,并返回此对象。(IE 独有)
createTextNode(data)—创建文本节点。
getElementById(elementid)—查找具有指定的唯一 ID 的元素。
getElementsByTagName(node_name)—返回所有具有指定名称的元素节点。
例如:
Javascript 代码
- var xmlDoc = loadXMLDoc("book.xml");
- xmlDoc.async = false;
- var book = xmlDoc.getElementsByTagName("book");
- var newtext1 = "Special Offer & Book Sale";
- var newCDATA = xmlDoc.createCDATASection(newtext1);
- book[0].appendChild(newCDATA);
- var newtext2 = "Revised September 2006";
- var newComment = xmlDoc.createComment(newtext2);
- book[0].appendChild(newComment);
- var
- var newel = xmlDoc.createElement('edition');
- var newtext3 = xmlDoc.createTextNode('First');
- newel.appendChild(newtext3);
- book[0].appendChild(newel);
- document.write("<xmp>" + xmlDoc.xml + "</xmp>");
Element 对象的属性
attributes—返回元素的属性的 NamedNodeMap
childNodes—返回元素的子节点的 NodeList
firstChild—返回元素的首个子节点。
lastChild—返回元素的最后一个子节点。
nextSibling—返回元素之后紧跟的节点。
nodeName—返回节点的名称。
nodeType—返回元素的类型。
ownerDocument—返回元素所属的根元素(document 对象)。
parentNode—返回元素的父节点。
previousSibling—返回元素之前紧跟的节点。
tagName—返回元素的名称。
text—返回节点及其后代的文本。(IE-only)
xml—返回节点及其后代得 XML。(IE-only)
Element 对象的方法
Javascript 代码
- x=xmlDoc.getElementsByTagName('book');
- for(i=0;i<x.length;i++)
- {
- attnode=x.item(i).getAttributeNode("category");
- document.write(attnode.name);
- document.write(" = ");
- document.write(attnode.value);
- document.write("<br />");
- }
- for(i=0;i<x.length;i++){
- document.write(x[i].getAttribute('category'));
- document.write("<br />");
- }
- xmlDoc=loadXMLDoc("/example/xdom/books.xml");
- x=xmlDoc.getElementsByTagName('book');
- document.write(x[0].getAttribute('category'));
- document.write("<br />");
- x[0].removeAttribute('category');
- document.write(x[0].getAttribute('category'));
- var attnode = x[1].getAttributeNode("category");
- var y = x[1].removeAttributeNode(attnode);
- document.write("<xmp>" + xmlDoc.xml + "</xmp>");
- function get_lastchild(n)
- {
- x = n.lastChild;
- while(x.noteType!=1){
- x = x.previousSibling;
- }
- return x;
- }
- function get_firstChild(n){
- x = n.firstChild;
- whild(x.nodeType!=1){
- x=x.nextSibling;
- }
- return x;
- }
- xmlDoc=loadXMLDoc("books.xml");
- x=xmlDoc.getElementsByTagName("book")[0];
- deleted_node=x.removeChild(get_lastchild(x));
- document.write("Node removed: " + deleted_node.nodeName);
Attr 对象
Attr 对象表示 Element 对象的属性。
name—返回属性的名称。
nodeName—返回节点的名称,依据其类型
nodeType—返回节点的类型。
nodeValue—设置或返回节点的值,依据其类型
ownerDocument—返回属性所属的根元素(document 对象)。
specified—如果属性值被设置在文档中,则返回 true,如果其默认值被设置在 DTD/Schema 中,则返回 false。
value—设置或返回属性的值。
text—返回属性的文本。IE-only。
xml—返回属性的 XML。IE-only。
Text 对象的属性
data—设置或返回元素或属性的文本。
length—返回元素或属性的文本长度。
Text 对象的方法
appendData(string)—向节点追加数据。
deleteData(start,length)—从节点删除数据。
insertData(start,string)— 向节点中插入数据。
replaceData(start,length,string)—替换节点中的数据。
replaceData(offset)— 把一个 Text 节点分割成两个。
substringData(start,length)— 从节点提取数据。
关于 JavaScript 操作 XML/HTML 比较常用的对象属性集锦的全部叙述就到此结束了,更多内容请登陆 phperz 官网了解更多,谢谢。
来源: http://www.phperz.com/article/17/0215/268928.html