關於DOM的增刪改那些事

2021-08-31 03:11:01 字數 3377 閱讀 3305

dom是針對html和xml文件的乙個api(應用程式程式設計介面),它秒回的是乙個層次化的節點樹,允許開發人新增,移除,和修改某一部分。

1.document型別可以表示html頁面或基於xml的文件,不過最常見的還是作為htmldocument例項的document物件。

//所有瀏覽器都支援 document.documentelement和document.body

var html =document.documentelement;

alert(html === document.childnodes[0]);

var body=document.body;

2.文件資訊

/*

ie8和之前版本為null,ie9+和firefox如果存在文件型別宣告,則將起作為味道的第乙個子節點,

safari,chrome和opera如果存在文件型別則將其解析,但不作為文件的子節點

*/ var doctype=document.doctype;

console.log(doctype);

/* 獲取文件標題 */

var title=document.title;

console.log(title)

/* url屬性中包含頁面完整的url

domain屬性中只包含頁面的網域名稱

referrer屬性中則儲存這鏈結到當前頁面的那個頁面的url

*/ var url =document.url;

var domain=document.domain;

var referrer=document.referrer;

console.log('url'+url);

console.log('domain'+domain);

console.log('referrer'+referrer);

3.document的其他屬性

123

4

/* 

getelementbyid:

取得div元素的引用,ie7以及更早版本為null。

但是ie7以及低版本中,當name特效和id都是box的時候,會返回input元素。

所以寫表單的name屬性的時候盡量別和其他id相同*/

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

console.log(odiv);

/* getelementsbytagname,接受乙個引數(元素的標籤名),

返回乙個htmlcollection物件

屬性和方法:

length屬性獲取元素的數量

item()方法訪問物件中的項

nameditem()通過元素的name特性取得集合中的項

【可以簡化為,方括號傳入數值或字串形式的所有值之後,會自動呼叫item和nameditem方法】

*/ var odiv1=document.getelementsbytagname("div");

console.log(odiv1.length);//5

console.log(odiv1.item(1));//1

console.log(odiv1.nameditem('name11'));//1

console.log(odiv1[1]);//1

/* 其他少用的

getelementsbyname()返回帶有給的name特性的所有元素

document.anchors,所有帶name特性的元素

document.images,所有的

*/ /*

文件寫入

write(),writeln()寫入到輸出流中的文字

open()和close()分布用於開啟和關閉網頁的輸出流

*/ document.write(""+(new date()).tostring()+"")

1.了解

element型別用於表現xml或html元素,提供對元素標籤名、子節點及特性的訪問。

2.元素屬性

/*

訪問元素的標籤名,可以用nodename也可以用tagname

*/ var odiv=document.getelementbyid("box");

console.log(odiv.tagname);//div

console.log(odiv.tagname ==odiv.nodename)//true

//用於判斷是否這個元素【使用任何文件】

if(odiv.tagname.tolowercase() == "div")

/* 獲取類-classname,title,lang等等*/

console.log(odiv.classname);

console.log(odiv.title);

console.log(odiv.lang);

/* 因為元素特性太多,乙個個獲取太麻煩,雖有又出來三個新方法方便獲取

getattribute(),setattribute(),removeattribute()

*/ console.log(odiv.getattribute("id"));

console.log(odiv.getattribute("class"));

odiv.setattribute("title","edittitle")

console.log(odiv.getattribute("title"));

3.元素的增刪

/* 建立元素 */

var pe=document.createelement("p");

var odiv=document.createelement("div");

/* 建立文字節點*/

var textnode=document.createtextnode("hello world!");

var othertext=document.createtextnode("petter here");

/*把元素新增到文件樹

insertbefote()

replacechild()

*/ console.log(pe.childnodes.length);//2

//normalize()將文字節點合併成乙個節點

pe.normalize();

console.log(pe.childnodes.length);//2

/* 刪除元素 */

document.body.removechild(odiv)

DOM的增刪改

節點的新增 public static voidcreateelement document doc throwsexception 刪除節點 public static voiddeleteelement document doc throwsexception 修改節點及屬性 public st...

dom增刪改查

一 建立節點 document.createelement tag tag必須是合法的 html 元素二 dom新增 刪除節點的方法 將newnode新增成當前節點的最後乙個子節點 insertbefore newnode,refnode 將refnode 節點之前插入 newnode 節點repl...

DOM的增刪改查

1 建立li元素 var li document.createelement li 2 建立文字節點 var guangzhou document.createtextnode 廣州 3 將li元素與文字繫結在一起 li.guangzhou 4 獲取id為city的節點 var city docum...