日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

dom对象常用的属性和方法有哪些?

發(fā)布時(shí)間:2023/11/29 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dom对象常用的属性和方法有哪些? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

dom對(duì)象常用的屬性和方法有哪些?

一、總結(jié)

一句話總結(jié):

1、document屬性和方法:document的屬性有head,body之類(lèi),方法有各種獲取element的方法

2、element的屬性和方法:屬性比如style,innerHTML和固有屬性,方法比如各種動(dòng)態(tài)操作元素,比如createElement,還有操作屬性的set、get、remove、create解Attribute

3、attribute的屬性和方法:有點(diǎn)包含在element里面的感覺(jué)

?

1、我們熟知location是window的屬性或者說(shuō)對(duì)象,那么document對(duì)象有l(wèi)ocation屬性么?

解答:window有l(wèi)ocation對(duì)象,document同樣有l(wèi)ocation對(duì)象,

2、如何獲取一個(gè)html的文檔聲明?

解答:document.doctype;//可以知道文檔聲明,如果沒(méi)有return null;這里是<!DOCTYPE html>

3、一個(gè)有如下 <!DOCTYPE html>文檔聲明的html文檔,它的文檔聲明的名字是什么?

解答:html ?

4、如何獲取一個(gè)html的head部分?

解答:document.head//很明顯選取head節(jié)點(diǎn).就是<head></head>這段??

5、如何獲取一個(gè)html的body部分?

解答:document.body//選取body節(jié)點(diǎn).??

6、如何獲取一個(gè)文檔的文檔聲明的名字?

解答:document.doctype.name//知道文檔聲明的名字.??

7、document的location屬性是來(lái)干嘛的?

解答:ocation一般主要是用來(lái)獲取地址。 ?

8、如何獲取一個(gè)文檔當(dāng)前的地址?

解答:document.location.href//獲取當(dāng)前地址??

9、給文檔重新分配地址的三種方法是哪三種?

解答:分別是location,location的assign方法和href屬性。?document.location.assign(http://www.baidu.com)//分配一個(gè)地址?document.location="http://www.baidu.com"?document.location.href="http://www.baidu.com" ?

10、innerText和innerHTML的區(qū)別是什么(兩點(diǎn)區(qū)別)?

解答:一個(gè)是獲取文本,一個(gè)是獲取標(biāo)簽。 innerText是IE特有,innerHTML則是符合W3C協(xié)議的。 ?

11、innerText里面的標(biāo)簽還是標(biāo)簽么?

解答:不是,已經(jīng)轉(zhuǎn)義為了文本。 ?

12、element常用的幾個(gè)屬性是哪幾個(gè)?

解答:id、nodeName、className、child、lastchild、firstchild、nextSibing、previousSibing ?

13、如何通過(guò)DOM2方法獲取一個(gè)標(biāo)簽?

解答:var?d=document.querySelector("#p1");??

14、DOM2獲取一個(gè)標(biāo)簽的兩個(gè)常見(jiàn)方法是哪兩個(gè)?

解答:querySelector和querySelectorAll ?

15、querySelector和querySelectorAll和區(qū)別是什么?

解答:前者獲取一個(gè),后者獲取所有對(duì)應(yīng)標(biāo)簽的。 ?

16、如何在body中把b標(biāo)簽插入到a標(biāo)簽之前?

解答:document.body.insertBefore(b,a);//把b插在a前面- -?? 17、

17、insertBefore除了成為普通元素的方法,可否成為body的方法?

解答:肯定可以啊??

18、在body中用c標(biāo)簽替換b標(biāo)簽怎么實(shí)現(xiàn)?

解答:document.body.replaceChild(c,b);//(new,old)??

19、屬性操作的四個(gè)方法是哪四個(gè)?

解答:set,get,create,remove,后面分別接Attribute ?

20、DOM0點(diǎn)擊事件怎么寫(xiě)?

解答:a.onclick=function(){} ?

21、DOM2點(diǎn)擊事件怎么寫(xiě)?

解答:btn.addEventListener("click",fun,false)??

22、DOM2中主要操作事件的兩個(gè)方法是哪兩個(gè)?

解答:add和remove接EventListener ?

23、btn.addEventListener("click",fun,false)中的第三個(gè)參數(shù)是什么意思?

解答:如果是true 就是在事件捕獲階段調(diào)用,如果是false則是在事件冒泡階段調(diào)用。??

24、這樣用removeEventListener("click",function(){})有效果么?

? 解答:這樣是沒(méi)有效果的。雖然是一個(gè)函數(shù),但是JS會(huì)認(rèn)為傳入了一個(gè)另外一個(gè)函數(shù),雖然和之前一個(gè)一模一樣。??

25、IE事件調(diào)用的方法是什么?

解答:IE用的是attach的方式,a.attachEvent("onclick",function(){} ? ? ? ?

?

?

?

二、dom對(duì)象常用的屬性和方法有哪些?

?

1、DOM對(duì)象的一些常用方法:

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Z-one</title> 6 </head> 7 <body> 8 <p id="p1" class="p">測(cè)試</p> 9 <p id="p2" class="p">測(cè)試</p> 10 <p id="p3" class="p">測(cè)試</p> 11 </body> 12 </html>

以上面code為例子

(1)、document 對(duì)象

a、document對(duì)象屬性

document.doctype;//可以知道文檔聲明,如果沒(méi)有return null;這里是<!DOCTYPE html> document.doctype.name//知道文檔聲明的名字. document.head//很明顯選取head節(jié)點(diǎn).就是<head></head>這段 document.body//選取body節(jié)點(diǎn).

?

b、location

我記得location一般主要是用來(lái)獲取地址。
常用方法:

1 document.location.href//獲取當(dāng)前地址 2 document.location.assign(http://www.baidu.com)//分配一個(gè)地址 3 另外如果href 是獲取當(dāng)前地址,如果給他賦值,把一個(gè)地址給他,也能達(dá)到assign的效果; 4 document.location="http://www.baidu.com" 5 或者 6 document.location.href="http://www.baidu.com"

?

innerText,innerHTML;

這二個(gè)放一起說(shuō),主要是都挺像的,這兩個(gè)的作用都是往文檔中寫(xiě)出內(nèi)容,但是區(qū)別主要是:

document.body.innerText("Z-ONE") 主要是寫(xiě)入一個(gè)純文本內(nèi)容,此時(shí)<span>并不是標(biāo)簽。而是一個(gè)文本"<span>".(其實(shí)這樣也顯得innerText的安全性高一點(diǎn))

document.body.innerHTML("z-one")也是寫(xiě)入一個(gè)純文本內(nèi)容,但是不會(huì)將HTML標(biāo)簽進(jìn)行轉(zhuǎn)義。

另外innerHTML是符合W3C協(xié)議的,而innerText只適用于IE瀏覽器。

?

c、Element元素

Element的幾個(gè)必要重要的屬性 感覺(jué)常用的就是:

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Z-one</title> 6 </head> 7 <body> 8 <p id="p1" class="p">測(cè)試</p> 9 <p id="p2" class="p">測(cè)試</p> 10 <p id="p3" class="p">測(cè)試</p> 11 <script> 12 var a=document.getElementById("p1")//獲取上面那個(gè)例子的p1元素. 13 a.id// 獲取該元素的id... "p1" (貌似就是通過(guò)p1找到的他- -) 14 a.nodeName//獲取到節(jié)點(diǎn)的名字(就是標(biāo)簽名字) 這里是"p" 15 a.className//獲取節(jié)點(diǎn)的class名字,這里因?yàn)殛P(guān)鍵字的原因,只能用className; 16 另外還有一些 17 child//獲取子元素 這里沒(méi)有 18 lastchild//最后一個(gè)子元素. 19 firstchild//第一個(gè)子元素. 20 nextSibling//下一個(gè)兄弟元素. 21 previousSibing//上一個(gè)兄弟元素. 22 </script> 23 </body> 24 </html>

獲取元素的方法
獲取元素的方法主要有三種:

  • 通過(guò)ID
  • 通過(guò)類(lèi)名
  • 通過(guò)元素種類(lèi)
    *(針對(duì)于input元素 通過(guò)分組名字)
  • 通過(guò)DOM2的方法
    下面這個(gè)例子很好表示了獲取元素的幾種方法
1   <p id="p1" class="p">測(cè)試</p> 2 <p id="p2" class="p">測(cè)試</p> 3 <p id="p3" class="p">測(cè)試</p> 4 </body> 5 <script> 6 window.onload=function(){ 7 //用id獲取第二個(gè)p標(biāo)簽的元素 8 var a=document.getElementById("p2"); 9 a.style.color="red"; 10 //用標(biāo)簽名字來(lái)獲取第一個(gè)p標(biāo)簽; 11 var b=document.getElementsByTagName("p")[0]//獲取的是一個(gè)集合, 12 b.style.fontSize="30px";//這里font-size,會(huì)報(bào)錯(cuò),就用fontSize; 13 //用類(lèi)名來(lái)獲取第三個(gè)標(biāo)簽. 14 var c=document.getElementsByClassName("p")[2]//和上面一個(gè)道理 15 c.style.fontWeight="bold"; 16 //通過(guò)DOM2的方法獲取第1個(gè)標(biāo)簽; 17 var d=document.querySelector("#p1"); 18 //如果是queryselectorAll() 就是獲取一個(gè)集合,操作方式和上面類(lèi)似。 19 //這里是通過(guò)類(lèi)名,如果是ID就用#p1 標(biāo)簽就用p,一般是獲取第一個(gè)元素.這點(diǎn)和Tag和Class都不一樣 20 d.style.color="green"; 21 }

然后就是Element的創(chuàng)建和添加元素。用一個(gè)例子表示吧:

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>創(chuàng)建元素</title> 6 </head> 7 <script> 8 window.onload=function(){ 9 var a=document.createElement("div"); 10 a.className="p1" 11 a.innerHTML=("<span>測(cè)試下</span>"); 12 //添加到文檔中 13 document.body.appendChild(a);//這下子元素就寫(xiě)進(jìn)去了 14 //如果還要添加 可以照著上面來(lái),我們現(xiàn)在就添加一個(gè)元素進(jìn)去 15 var b=document.createElement("div"); 16 b.innerHTML="<p>測(cè)試第二彈</p>"; 17 //這次我們添加在上一個(gè)元素前面 18 document.body.insertBefore(b,a);//把b插在a前面- - 19 //這時(shí)候不想要b了,想替換掉,可以這么做! 20 var c=document.createElement("div"); 21 c.innerHTML="我就是來(lái)替換的"; 22 document.body.replaceChild(c,b);//(new,old) 23 } 24 </script> 25 <body> 26 27 </body> 28 </html>

?

屬性操作

Element的屬性操作一般就下面四種:

  • getAttribute 獲取一個(gè)屬性。
  • setAttribute 設(shè)置一個(gè)屬性。
  • removeAttribute 刪除一個(gè)屬性。
  • createAttribute 新建一個(gè)屬性。
    舉個(gè)例子吧
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>獲取屬性</title> 6 </head> 7 <body> 8 <div id="x1" class="p1"></div> 9 </body> 10 <script> 11 var a=document.getElementById("x1"); 12 a.getAttribute("id");//獲取該階段的屬性:id 13 a.setAttribute("id","Z-one");//設(shè)置一個(gè)屬性。 14 a.removeAttribute("id")//刪除ID節(jié)點(diǎn) 15 </script>

?

2、事件處理

(1)、DOM0級(jí)事件處理

還是用一個(gè)例子說(shuō)明:

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <input type="button" id="a" value="按鈕"> 9 </body> 10 <script> 11 var a=document.getElementById("a"); 12 a.onclick=function(){ 13 console.log("測(cè)試一下"); 14 } 15 //這樣點(diǎn)擊按鈕就會(huì)在控制臺(tái)輸出測(cè)試一下 16 </script>

這一種應(yīng)該算是比較常見(jiàn)的一種操作方式。沒(méi)什么好說(shuō)的。我們看下面

(2)、DOM2級(jí)事件處理程序

這里前面區(qū)別開(kāi)來(lái),就是我是你的升級(jí)版!。出了這兩個(gè)方法
addEventListener();//添加
removeEventListener();//去除

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>DOM2級(jí)</title> 6 </head> 7 <body> 8 <input type="button" value="按鈕"> 9 </body> 10 <script> 11 var fun=function(){ 12 console.log("測(cè)試一下"); 13 } 14 var btn=document.querySelector("input"); 15 btn.addEventListener("click",fun,false) 16 btn.removeEventListener("click",fun,false) 17 //如果是true 就是在事件捕獲階段調(diào)用,如果是false則是在事件冒泡階段調(diào)用。 18 //另外如果這里要用removeEventListener("click",function(){})//這樣是沒(méi)有效果的。雖然是一個(gè)函數(shù),但是JS會(huì)認(rèn)為傳入了一個(gè)另外一個(gè)函數(shù),雖然和之前一個(gè)一模一樣。 19 </script> 20 </html>

?

(3)、IE事件調(diào)用

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>IE事件調(diào)用</title> 6 </head> 7 <body> 8 <input type="button" id="p1" value="按鈕"> 9 </body> 10 <script> 11 var a=document.getElementById("p1"); 12 a.attachEvent("onclick",function(){ 13 console.log("測(cè)試一下"); 14 }) 15 a.attachEvent("onclick",function(){ 16 console.log("猜猜我在第一還是在第二"); 17 }) 18 //這里有一點(diǎn)。如果是如果是調(diào)用了兩次attachEvent(),后面的會(huì)在前面出現(xiàn)。和DOM2是相反的. 19 另外IE下 事件處理會(huì)在全局作用下運(yùn)行。 20 </script> 21 </html>

?

?

三、測(cè)試題-簡(jiǎn)答題

1、我們熟知location是window的屬性或者說(shuō)對(duì)象,那么document對(duì)象有l(wèi)ocation屬性么?

解答:window有l(wèi)ocation對(duì)象,document同樣有l(wèi)ocation對(duì)象,

2、如何獲取一個(gè)html的文檔聲明?

解答:document.doctype;//可以知道文檔聲明,如果沒(méi)有return null;這里是<!DOCTYPE html>

3、一個(gè)有如下 <!DOCTYPE html>文檔聲明的html文檔,它的文檔聲明的名字是什么?

解答:html ?

4、如何獲取一個(gè)html的head部分?

解答:document.head//很明顯選取head節(jié)點(diǎn).就是<head></head>這段 ?

5、如何獲取一個(gè)html的body部分?

解答:document.body//選取body節(jié)點(diǎn). ?

6、如何獲取一個(gè)文檔的文檔聲明的名字?

解答:document.doctype.name//知道文檔聲明的名字. ?

7、document的location屬性是來(lái)干嘛的?

解答:ocation一般主要是用來(lái)獲取地址。 ?

8、如何獲取一個(gè)文檔當(dāng)前的地址?

解答:document.location.href//獲取當(dāng)前地址 ?

9、給文檔重新分配地址的三種方法是哪三種?

解答:分別是location,location的assign方法和href屬性。 document.location.assign(http://www.baidu.com)//分配一個(gè)地址 document.location="http://www.baidu.com" document.location.href="http://www.baidu.com" ?

10、innerText和innerHTML的區(qū)別是什么(兩點(diǎn)區(qū)別)?

解答:一個(gè)是獲取文本,一個(gè)是獲取標(biāo)簽。 innerText是IE特有,innerHTML則是符合W3C協(xié)議的。 ?

11、innerText里面的標(biāo)簽還是標(biāo)簽么?

解答:不是,已經(jīng)轉(zhuǎn)義為了文本。 ?

12、element常用的幾個(gè)屬性是哪幾個(gè)?

解答:id、nodeName、className、child、lastchild、firstchild、nextSibing、previousSibing ?

13、如何通過(guò)DOM2方法獲取一個(gè)標(biāo)簽?

解答:var d=document.querySelector("#p1"); ?

14、DOM2獲取一個(gè)標(biāo)簽的兩個(gè)常見(jiàn)方法是哪兩個(gè)?

解答:querySelector和querySelectorAll ?

15、querySelector和querySelectorAll和區(qū)別是什么?

解答:前者獲取一個(gè),后者獲取所有對(duì)應(yīng)標(biāo)簽的。 ?

16、如何在body中把b標(biāo)簽插入到a標(biāo)簽之前?

解答:document.body.insertBefore(b,a);//把b插在a前面- - ? 17、

17、insertBefore除了成為普通元素的方法,可否成為body的方法?

解答:肯定可以啊 ?

18、在body中用c標(biāo)簽替換b標(biāo)簽怎么實(shí)現(xiàn)?

解答:document.body.replaceChild(c,b);//(new,old) ?

19、屬性操作的四個(gè)方法是哪四個(gè)?

解答:set,get,create,remove,后面分別接Attribute ?

20、DOM0點(diǎn)擊事件怎么寫(xiě)?

解答:a.onclick=function(){} ?

21、DOM2點(diǎn)擊事件怎么寫(xiě)?

解答:btn.addEventListener("click",fun,false) ?

22、DOM2中主要操作事件的兩個(gè)方法是哪兩個(gè)?

解答:add和remove接EventListener ?

23、btn.addEventListener("click",fun,false)中的第三個(gè)參數(shù)是什么意思?

解答:如果是true 就是在事件捕獲階段調(diào)用,如果是false則是在事件冒泡階段調(diào)用。 ?

24、這樣用removeEventListener("click",function(){})有效果么?

? 解答:這樣是沒(méi)有效果的。雖然是一個(gè)函數(shù),但是JS會(huì)認(rèn)為傳入了一個(gè)另外一個(gè)函數(shù),雖然和之前一個(gè)一模一樣。 ?

25、IE事件調(diào)用的方法是什么?

解答:IE用的是attach的方式,a.attachEvent("onclick",function(){} ? ? ? ?

?

轉(zhuǎn)載于:https://www.cnblogs.com/Renyi-Fan/p/9105002.html

總結(jié)

以上是生活随笔為你收集整理的dom对象常用的属性和方法有哪些?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。