前回の記事では、DOM を使用してノードの作成、ノードのコピー、ノードの挿入を行うことについて説明しました。
今日は、ノードの削除、ノードの置換、ノードの検索などについて説明します。
メソッドから直接開始します:
1、ノードを削除します。削除子():
a
="b">b
c
<スクリプト>
var msg = document.getElementById("cssrain");
msg.removeChild(b); script>
削除するノードの親ノードがわからない場合はどうすればよいですか? parentNode 属性を使用できます。
例:
a
p id="b">b
🎜 ><script> <br>var b = document.getElementById("b"); <br>c.removeChild(b); 🎜 ><br>2、ノードを交換します。 repalceChild() <br>element.repalceChild( newNode , oldNode ); // 新しいノードはゲストなので、最初にサービスを提供する必要があります。 。 oldNode は Element の子ノードである必要があります。 <br>例: <br><body> <br> <p id="cssrain"> <br> <p id="a">a <br> <p id="b">b </p> <br> <p id="c">c </p> <br> </body> ><script> <br>var cssrain = document.getElementById("cssrain"); <br>var msg = document.getElementById("p"); <br>cssrain.replaceChild( para , msg ); <br></script>
ノードの検索は上記の方法と比べて比較的簡単です。
多くの人が使っているからです。 (私が js について知った最初の文は getElementById(); だったことを覚えています)
getElementById();
nodeName、nodeType、parentNode、ChildNodes などの属性を持つオブジェクトを返します。
getElementsByTagName() は、タグ名のすべての要素を検索します。
コレクションを返します。ループを使用して各オブジェクトを取り出すことができます。このオブジェクトには、nodeName、nodeType、parentNode、ChildNodes などのプロパティがあります。
例:
var ps = document.getElementsByTagName(“p”);
for(var i=0; i
ps[i].setAttribute(“ title","hello");
//ps.item(i).setAttribute("title","hello");
}
4, Set/ も使用できます。属性ノードを取得します。
setAttribute();//
を設定します。 例:
var a = document.createElement(“p”);
a.setAttribute(“title”,”my demo”);以前に title 属性があったかどうかに関係なく、将来の値は私のデモです。
getAttribute();//
の例:
var a =document.getElementById(“cssrain”);
var b = a.getAttribute(“title”); >取得時に属性が存在しない場合は空を返します。ieとffでは戻り値が異なりますので注意してください。
aaaa
/p> var paras = ドキュメント。 getElementsByTagName("p");
for (var i=0; i var title_text = paras[i].getAttribute(" title"); != null) {
//次のような書き方には問題があります。ff は 1 回しか再生されませんが、ie は 2 回再生されます。
//if (title_text != "") をこのように書くと、ie は 1 回しかポップアップしませんが、ff は 2 回ポップアップします。
//こう書くとどうなるでしょうか? if (title_text) では、ie は 1 回だけポップアップし、ff は 1 回だけポップアップすることがわかりました。
// if (title_text) が必要なものです。
//注: ff が存在しない場合は null を返します
//つまり return ""
alter(title_text);
}
}
🎜 >
リターンは異なりますが、1 つの方法で判断できます。
if(a.getAttribute(“title”) ){
// 何かをする
}
5,hasChildNodes:
名前から分かる、判断することです要素に子ノードがあるかどうか。
ブール型を返します。
テキスト ノードと属性ノードは子ノードを持つことができないため、その hasChildNodes は常に false を返します。
hasChildNodes は、childNodes と一緒に使用されることがよくあります。
例:
a
p id="b">b
🎜 >