JavaScript DOM学習ノート3——DOMプロパティ操作

1390 ワード

Nodeインターフェース自体にはアトリブツ属性があり、全てのタイプのノードがこの属性を継承している.しかし、実際にはElementタイプのノードだけが属性を持つことができます.Elementノードのat tibutes属性タイプはNamedNodeListである.NamedNodeMapは、数字と名前のインデックス・ノードを介してもよい.
NamedNodeMapは以下のいくつかの一般的な方法を持っています.
1.get NamedItem:nameに基づいて属性ノードを取得する.
2.set NamedItem:ノードをNamedNodeMapに追加し、nameインデックスに従います.
3.レモベNamedItem:name対応のノードを削除します.
4.item(pos):ノードのインデックス位置を介してノードを検索するNodeListにおけるitem()方法と同様である.
上記の方法はAttrタイプのノード、すなわちノードノード、ATTRIBUTE_を返します.NODENamedNodeMapは、いくつかの要素を含むlength属性表現を有する.
 
しかし、上記の方法があまりにも邪魔であることを考慮して、DOMは属性を操作するための3つの方法を定義した.
get Attribute(name):nameで属性値を取得します.
セットリスト:属性値を設定します.
removeAttribute(name):属性を削除します.
 
上記の通り、テストコードを書きました.
 
<html>
	<head>
		<title></title>
		<script type="text/javascript">
			var oHtml = document.documentElement;
			var oBody = oHtml.lastChild;
			var oP = oBody.lastChild;
			var oId = oP.getAttribute("id");
			alert(oId);
		</script>
	</head>
	<body>
		<p style="color:red" id="pId"></p>
	</body>
</html>
 
 
実は、IE 8、Chrome、Firefoxを問わず、

のid属性値は取れません.この点はとても困惑します...
 
 
 
参考図書目録:
『JavaScript高級プログラミング』Nicolas C.Zakas著、曹力張欣等訳.