Dom物件模型

2021-08-13 16:18:28 字數 3987 閱讀 4024

1. 文件物件

節點分為元素節點、屬性節點、文字節點。

window.onload = function () {

var box = document.getelementbyid("box");    //通過id查詢元素節點,dom等待

alert(box.id);    //元素id值

alert(box.tagname);    //元素名

alert(box.innerhtml);   //元素內部html片段

alert(box.classname);  //元素css類名

alert(box.style);   //元素style物件

2. 通過getelementsbytagname獲取元素集合

var box = document.getelementsbytagname('li');  //返回htmlcollection物件

box.length   //返回元素集合長度

box[0]  or box.item[0]   //訪問第乙個元素

var all = document.getelementsbytagname("*");  //*代表所有元素

3. 通過getelementsbyname獲取元素集合

var box = document.getelementsbyname("test");  //ie瀏覽器在非法name屬性情況下,返回undefined.

4. 屬性操作

var box = document.getelementbyid("box");

title = box.getattribute("id");   //獲取id屬性,可以使用這個介面獲取自定義屬性

box.getattribute("class")    //非ie瀏覽器獲取class

box.getattribute("classname")  //ie瀏覽器獲取class

box.setattribute("classname", "good");  //有則更新屬性,沒有則建立屬性

box.setattribute("style", "color:red;")   //ie瀏覽器7一下不支援設定style和onclick.

box.removeattribute("title");  //ie6及以下不支援

5. 屬性節點

var box = document.getelementbyid("box");

box.nodetype  //1表示元素節點,2表示屬性節點,3表示文字節點

box.nodename  //等價於box.tagname

box.nodevalue  //表示屬性value值

6. 層次節點屬性

var box = document.getelementbyid("box");

box.childnodes  //所有子節點

//文字節點內容使用nodevalue獲取,文字節點nodename為#text, nodevalue賦值不可以包含html標籤, innerhtml可以包含

box.firstchild  //獲取第乙個子節點

box.lastchild //獲取最後乙個節點

box.ownerdocument //返回根物件

box.parentnode  //父節點

box.previoussibling  //同級前乙個節點

box.nextsibling //同級下乙個節點

box.attributes //返回屬性集合

box.attributes[0]  or box.attributes['title']  //可以通過下標訪問,也可以通過屬性名訪問

box.childnodes //非ie瀏覽器包含空白節點,ie不包含

7.節點操作

var ele = document.createelement("p");  //建立元素節點

var box = document.getelementbyid("box");

var text = document.createtextnode('test div4');   //建立文字節點

box.parentnode.insertbefore(ele, box);   //插入ele到box前面

document.createelement("");    //ie低版本使用這種方式建立radio元素節點

var span = document.getelementsbytagname("span")[0];

var em = document.createelement("em");

span.parentnode.replacechild(em, span);   //使用em替換span元素

var box = document.getelementbyid("box");    

var clone = box.firstchild.clonenode(true);      //true轉殖文字節點,false只轉殖標籤

var box = document.getelementbyid("box");    

box.removechild(box.firstchild);   //刪除節點

8. 節點型別

node.element_node  //元素節點,但是ie不支援node物件

node.text_node   //文字節點

9. document型別

//document表示文件節點或根節點

document.nodetype   //節點型別為9

document.nodename  //節點標籤名字為document

document.documentelement  //獲取html元素節點

document.body  //獲取body元素節點

document.doctype; //獲取文件宣告節點, ie理解為comment節點, 非ie理解為documenttype節點

document.title;  //代表文件title

document.url;  //當前路徑

document.domain; //當前網域名稱

document.referrer;  //前乙個路徑

10. text節點型別

var text1 = document.createtextnode("text1");

var text2 = document.createtextnode("text2");

box.normalize();  //合併同一級別的文字節點

box.childnodes[0].deletedata(0, 3);  //刪除0到3的字元

box.childnodes[0].insertdata(0, "hello ");  //插入字元

box.childnodes[0].replacedata(0, 2, 'hello');  //替換0到2的字元

11. dom擴充套件

//如果不寫,進入怪異模式

document.compatmode;  //呈現模式

document.getelementbyid('box').scrollintoview();  //使元素box滾動到可見

var box = document.getelementbyid("box");

box.children;   //與box.childnodes對比忽略空白節點

p = box.firstchild;

box.contains(p);  //判斷p是否為box子節點,火狐低版本不支援

box.comparedocumentposition(p);   //判斷p和box之間的關係,火狐和chrome支援

12. dom操作內容

var box = document.getelementbyid("box");

box.innerttext;  //包含文字,去掉html標籤,火狐不支援, 火狐使用textcontent

innerhtmltext;  //script片段是不能賦值的。

DOM 文件物件模型

dom 文件物件模型 概念的推出,這個api使html如虎添翼,但是有些學dhtml的朋友還是有些困撓,只是因為目前的手冊的書寫不太科學,是按字母 來分的,不便查閱.其實dom中最關鍵是要掌握節點與節點之間的關係 between node andnode 想學習dhtml中的dom千萬不要從頭到尾地...

DOM文件物件模型

dom document object model文件物件模型 用來將標記型文件的文件封裝成物件,並且將文件中的所有的類容 文字,屬性,屬性值 分裝成為物件。封裝的目的是為了更好的對文字文件進行操作。有了物件就可以更好的利用文件對其中的屬性和值進行呼叫。document 標記型文件 object 封...

DOM文件物件模型

文件 標記型文件 html xml 物件 封裝了屬性和行為 模型 共性特徵的體現 dom解析html 1 通過dom的方法,把html全部 元素 標籤 文字 屬性 都封裝成了物件 2 dom想要操作標記型文件先解析 解析器 dom解析html 瀏覽器也可以解析html dom的三個級別 1 將htm...