ノード オブジェクトのプロパティ
childNodes - ノードから子ノードへのノード リストを返します
firstChild - ノードの最初の子ノードを返します。
lastChild - ノードの最後の子ノードを返します。
nextSibling - ノードの直後にある兄弟ノードを返します。
nodeName - タイプに応じてノードの名前を返します。
nodeType - ノードのタイプを返します。
nodeValue - タイプに応じてノードの値を設定または返します。
ownerDocument - ノードのルート要素 (ドキュメント オブジェクト) を返します。
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 要素:4
JavaScript コード
var y = xmlDoc.documentElement.childNodes; document.write(y.item(0).nodeName);
出力: 本
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”);
出力: 料理
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对象的方法
appendChild(node)—向节点的子节点列表末尾添加新的子节点。
cloneNode(true)—克隆节点。
getAttribute(att_name)—返回属性的值。
getAttributeNode(att_name)—以 Attribute 对象返回属性节点。
getElementsByTagName(node_name)—找到具有指定标签名的子孙元素。
hasAttribute(att_name)—返回元素是否拥有指定的属性。
hasAttributes()—返回元素是否拥有属性。
hasChildNodes()—返回元素是否拥有子节点。
insertBefore(new_node,existing_node)—在已有的子节点之前插入一新的子节点。
removeAttribute(att_name)—删除指定的属性。
removeAttributeNode(att_node)—删除指定的属性节点。
removeChild(node)—删除子节点。
replaceChild(new_node,old_node)—替换子节点。
setAttribute(name,value)—添加新的属性或者改变属性的值。
setAttribute(att_node)—添加新的属性。
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比较常用的对象属性集锦的全部叙述就到此结束了,更多内容请登陆脚本之家官网了解更多,谢谢。