javascript DOM学習ノート
3430 ワード
DOM
dom中国語翻訳はドキュメントオブジェクトモデルです.
domのNodeListとNameNodeMapとHTMLCollectionはダイナミックなダイナミックな動きをしています.
node(ノード)
父の元素のfirst Child;lastChild;チルドノード[7];サブ要素のparent Nodeは親要素のnodeのnext Sibilingです.次の同級node nodeが存在しない場合はnullに戻ります.
ノードを取得
これは私達が書きました.これはbody div inputなどのラベルの山です.ブラウザ内の構造document.getElementById(idは一つの要素しか設定できません.)document.getElements ByTagName()*(得られたのは配列***です.)そして、最初の元素を獲得したいならば、同時にlengthという属性があります.
*.getElements ByClass Name()*(獲得したのは配列)同上です.
変更オブジェクトの作成
createElement().RemoveElement() .イメージ .link 削除ノードを追加 apendChild(new)サブノード を追加する. insertBefore(newNode,oldNode)はnewNodeをoldNodeの前に挿入します. replacceChild(new,old) RemoveChild(old)は、サブノード を削除する.
オブジェクトの属性を取得 get Attribute(「width」) set Attribute(「width」) removeAttribute(「width」) DOM 2とDOM 3は都domに対して機能アップグレードを行います. addEvent Listener removeEvent Lister dispatch Event dom整合性検査
js
div.tagName==DIV;//divではないので、element.tag Name.toLowerCase()==「div」が一番いいです.これでいいです
domを操作する時、一つの問題があります.domはダイナミックです.
dom中国語翻訳はドキュメントオブジェクトモデルです.
domのNodeListとNameNodeMapとHTMLCollectionはダイナミックなダイナミックな動きをしています.
node(ノード)
父の元素のfirst Child;lastChild;チルドノード[7];サブ要素のparent Nodeは親要素のnodeのnext Sibilingです.次の同級node nodeが存在しない場合はnullに戻ります.
ノードを取得
これは私達が書きました.これはbody div inputなどのラベルの山です.ブラウザ内の構造document.getElementById(idは一つの要素しか設定できません.)document.getElements ByTagName()*(得られたのは配列***です.)そして、最初の元素を獲得したいならば、同時にlengthという属性があります.
var oli=oul.getElementsByTagName("li")
alert(oli[0]);
alert(oli[1]);
もう一つの問題はmydiv.getElements ByTagName(「li」)で得られたのはすべてのliです.多くの層があればすべてのli元素に戻ります.*.getElements ByClass Name()*(獲得したのは配列)同上です.
変更オブジェクトの作成
createElement()
var mydiv =document.creatElement("div");
mydiv.id="myid";
mydiv.className ="myclassname";
//
document.body.appendChild(mydiv);
var returnNode =someNode.appendChild(newNode);
//
alert(someNode.lastChild==newNode); //ture
var returnNode =someNode.insertChild(newNode,someNode.firstChild);
alert(newNode == newNode == someNode.firstNode);//ture
オブジェクトの属性を取得
div.setAttribute("id","otheId");
//
div.id="otherId";
// setAttribute
div.mycloth=" ";
document.implementation.hasFeature("xml","2.0");
ドキュメントの書き込み
\
document.write("<strong>"+(new Date()).toString()+"</strong>");
// write html( innerText innerHtml )
// js
document.write("<script type=\"text/javascript\" src=\"file.js\"+" "); //false
document.write(""); //ture
動的挿入スクリプトjs
function loadScript(url) {
var script=document.creatElement("script");
script.type="text/javascript";
script.scr=url;
document.body.appendChild(script);
}
loadScript(javascript.js);
cssfunction loadStyles(url) {
var link=document.creatElement("link");
link.rel="stylesheet";
link.type="text/css";
link.url=url;
var head=document.getElementsByTagName('head')[0].appendChild(link);
}
loadStyles("style.css")
注意:div.tagName==DIV;//divではないので、element.tag Name.toLowerCase()==「div」が一番いいです.これでいいです
domを操作する時、一つの問題があります.domはダイナミックです.
var divs=document.getElementsByTagName('div');
for(var i=0;i