[元]JavaScript学習ノート(二.DOM)
3333 ワード
1.DOM
サーバ--(戻る)---HTMLファイル--(DOMツリー)----ブラウザ
ブラウザは実はHTMLファイルのDOMツリーを解析しています.だから、DOMで外観を変えることができます.
だからDOMの標準に合って、普通はそれぞれのブラウザでも支持しています.各ブラウザも同様にDOMの標準に従わなければなりません.
2.すべてが終わる.
要素、テキスト、属性、コメントを含む
3.要素の結点とテキストの結点
このような结点は元素结点であり、元素结点が有名で无値です.
「xxx」のようにテキストだけの结点はテキスト结点で、テキスト结点は无名で値があります.
node nodeName nodeValue
サーバ--(戻る)---HTMLファイル--(DOMツリー)----ブラウザ
ブラウザは実はHTMLファイルのDOMツリーを解析しています.だから、DOMで外観を変えることができます.
だからDOMの標準に合って、普通はそれぞれのブラウザでも支持しています.各ブラウザも同様にDOMの標準に従わなければなりません.
2.すべてが終わる.
要素、テキスト、属性、コメントを含む
3.要素の結点とテキストの結点
このような结点は元素结点であり、元素结点が有名で无値です.
「xxx」のようにテキストだけの结点はテキスト结点で、テキスト结点は无名で値があります.
node nodeName nodeValue
div null/undefined
abc null/undefined abc
4.Nodeオブジェクトに対応していないブラウザがあります.
if(someNode.nodeType==Node.ELLE ENTNODE)はNodeが見つからないと言い間違えます.
5.DOMで結点を操作すると、空白の文字もテキストの結点として扱われる可能性がありますので、これは注意してください.
6.DOMツリーの上にある「HTMLドキュメントの結点」では、1つの要素は1人の父親しかない.したがって、1つの要素を他の場所に移動する場合は、元の場所で除去操作を行う必要はなく、直接目的地に入ればいいです.
7.getElementById,getElementsByName,getElements ByTagName
7.1 getElementById()
documentオブジェクトのみ使用できます.
は、1つのオブジェクトを返します.
7.2 getElements ByName():
documentオブジェクトのみ使用できます.
は、行列を返します
7.3 getElements ByTagName()
すべての結点が使えます.
は、行列を返します
7.4 ieとfirefoxのgetElements ByNameの違い
ieの中でgetElements ByName(「test」)の時に戻ってくるのはなんとid=testのobject配列です.firefoxを使って帰るのはname=testのobjectの配列です.w 3 cの仕様ではfirefoxの実現が正しいはずです.ieが、なぜid=testとなる方式を実現するのか?
8.JS方法を書いて、呼び出しの時にこの関数が見つからないと言っていますが、名前の検査が正しいです.これは間違っているだけです.その後、方法の中に間違いがあったと気づきましたが、このエラーの前のalert()も呼び出されませんでした.
また、一番気が重いのはJS関数が使えなくて、上の経験を吸収した後、私が呼ぼうとしているfunctionの名前はcreateElement()といいます.documentと同じです.ですので、無効です.
また1回無敵の憂鬱なのが来ました.それともJS関数が呼び出せなくて、上の2つの経験を吸収しました.その後、「script type="text/javascript"/"」の中で、ダブル引用符が中国語のダブル引用符になりました.
9.windowオブジェクト
window.frame:配列オブジェクトは、すべてのフレームオブジェクトまたは
abc null/undefined abc
4.Nodeオブジェクトに対応していないブラウザがあります.
if(someNode.nodeType==Node.ELLE ENTNODE)はNodeが見つからないと言い間違えます.
5.DOMで結点を操作すると、空白の文字もテキストの結点として扱われる可能性がありますので、これは注意してください.
6.DOMツリーの上にある「HTMLドキュメントの結点」では、1つの要素は1人の父親しかない.したがって、1つの要素を他の場所に移動する場合は、元の場所で除去操作を行う必要はなく、直接目的地に入ればいいです.
7.getElementById,getElementsByName,getElements ByTagName
7.1 getElementById()
documentオブジェクトのみ使用できます.
は、1つのオブジェクトを返します.
7.2 getElements ByName():
documentオブジェクトのみ使用できます.
は、行列を返します
7.3 getElements ByTagName()
すべての結点が使えます.
は、行列を返します
<p id="div_1">
<input name="abc"/>
<input name="abc"/>
</p>
<input type="button" onclick="countElement();" value="button"/>
<script>
function countElement(){
var div_1 = document.getElementById("div_1");
var inputs1 = div_1.getElementsByTagName("input");
var inputs1_1 = document.getElementsByName("abc");//div getElementsByName()
alert(inputs1.length); //2
alert(inputs1_1.length);//2
}
</script>
7.4 ieとfirefoxのgetElements ByNameの違い
ieの中でgetElements ByName(「test」)の時に戻ってくるのはなんとid=testのobject配列です.firefoxを使って帰るのはname=testのobjectの配列です.w 3 cの仕様ではfirefoxの実現が正しいはずです.ieが、なぜid=testとなる方式を実現するのか?
8.JS方法を書いて、呼び出しの時にこの関数が見つからないと言っていますが、名前の検査が正しいです.これは間違っているだけです.その後、方法の中に間違いがあったと気づきましたが、このエラーの前のalert()も呼び出されませんでした.
また、一番気が重いのはJS関数が使えなくて、上の経験を吸収した後、私が呼ぼうとしているfunctionの名前はcreateElement()といいます.documentと同じです.ですので、無効です.
また1回無敵の憂鬱なのが来ました.それともJS関数が呼び出せなくて、上の2つの経験を吸収しました.その後、「script type="text/javascript"/"」の中で、ダブル引用符が中国語のダブル引用符になりました.
<p id="div_1">
<input name="abc"/>
<input name="abc"/>
</p>
<input type="button" onclick="countElement();" value="button"/>
<script>
function countElement(){
var div_1 = document.getElementById("div_1");
var inputs1 = div_1.getElementByTagName("input"); // s, ..
var inputs1_1 = document.getElementsByName("abc");
alert(inputs1.length);
alert(inputs1_1.length);
}
</script>
9.windowオブジェクト
window.frame:配列オブジェクトは、すべてのフレームオブジェクトまたは