dom對象常用的屬性和方法有哪些?

dom對象常用的屬性和方法有哪些?

一、總結

一句話總結:

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

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

3、attribute的屬性和方法:有點包含在element里面的感覺

?

1、我們熟知location是window的屬性或者說對象,那么document對象有location屬性么?

解答:window有location對象,document同樣有location對象,

2、如何獲取一個html的文檔聲明?

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

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

解答:html ?

4、如何獲取一個html的head部分?

解答:document.head//很明顯選取head節點.就是<head></head>這段??

5、如何獲取一個html的body部分?

解答:document.body//選取body節點.??

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

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

7、document的location屬性是來干嘛的?

解答:ocation一般主要是用來獲取地址。 ?

8、如何獲取一個文檔當前的地址?

解答:document.location.href//獲取當前地址??

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

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

10、innerText和innerHTML的區別是什么(兩點區別)?

解答:一個是獲取文本,一個是獲取標簽。 innerText是IE特有,innerHTML則是符合W3C協議的。 ?

11、innerText里面的標簽還是標簽么?

解答:不是,已經轉義為了文本。 ?

12、element常用的幾個屬性是哪幾個?

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

13、如何通過DOM2方法獲取一個標簽?

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

14、DOM2獲取一個標簽的兩個常見方法是哪兩個?

解答:querySelector和querySelectorAll ?

15、querySelector和querySelectorAll和區別是什么?

解答:前者獲取一個,后者獲取所有對應標簽的。 ?

16、如何在body中把b標簽插入到a標簽之前?

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

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

解答:肯定可以啊??

18、在body中用c標簽替換b標簽怎么實現?

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

19、屬性操作的四個方法是哪四個?

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

20、DOM0點擊事件怎么寫?

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

21、DOM2點擊事件怎么寫?

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

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

解答:add和remove接EventListener ?

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

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

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

? 解答:這樣是沒有效果的。雖然是一個函數,但是JS會認為傳入了一個另外一個函數,雖然和之前一個一模一樣。??

25、IE事件調用的方法是什么?

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

?

?

?

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

?

1、DOM對象的一些常用方法:

 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">測試</p>
 9     <p id="p2" class="p">測試</p>
10     <p id="p3" class="p">測試</p>
11 </body>
12 </html>

以上面code為例子

(1)、document 對象

a、document對象屬性

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

?

b、location

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

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

?

innerText,innerHTML;

這二個放一起說,主要是都挺像的,這兩個的作用都是往文檔中寫出內容,但是區別主要是:

document.body.innerText("Z-ONE") 主要是寫入一個純文本內容,此時<span>并不是標簽。而是一個文本"<span>".(其實這樣也顯得innerText的安全性高一點)

document.body.innerHTML("z-one")也是寫入一個純文本內容,但是不會將HTML標簽進行轉義。

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

?

c、Element元素

Element的幾個必要重要的屬性 感覺常用的就是:

 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">測試</p>
 9     <p id="p2" class="p">測試</p>
10     <p id="p3" class="p">測試</p>
11   <script>
12         var a=document.getElementById("p1")//獲取上面那個例子的p1元素.
13           a.id// 獲取該元素的id... "p1" (貌似就是通過p1找到的他- -)
14           a.nodeName//獲取到節點的名字(就是標簽名字) 這里是"p"
15           a.className//獲取節點的class名字,這里因為關鍵字的原因,只能用className;
16            另外還有一些
17             child//獲取子元素  這里沒有
18            lastchild//最后一個子元素.
19            firstchild//第一個子元素.
20            nextSibling//下一個兄弟元素.
21            previousSibing//上一個兄弟元素.
22 </script>
23 </body>
24 </html>

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

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

然后就是Element的創建和添加元素。用一個例子表示吧:

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

?

屬性操作

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

  • getAttribute 獲取一個屬性。
  • setAttribute 設置一個屬性。
  • removeAttribute 刪除一個屬性。
  • createAttribute 新建一個屬性。
    舉個例子吧
 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");//設置一個屬性。
14     a.removeAttribute("id")//刪除ID節點
15 </script>

?

2、事件處理

(1)、DOM0級事件處理

還是用一個例子說明:

 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("測試一下");
14     }
15     //這樣點擊按鈕就會在控制臺輸出測試一下
16 </script>

這一種應該算是比較常見的一種操作方式。沒什么好說的。我們看下面

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

這里前面區別開來,就是我是你的升級版!。出了這兩個方法
addEventListener();//添加
removeEventListener();//去除

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

?

(3)、IE事件調用

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>IE事件調用</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("測試一下");
14     })
15     a.attachEvent("onclick",function(){
16         console.log("猜猜我在第一還是在第二");
17     })
18 //這里有一點。如果是如果是調用了兩次attachEvent(),后面的會在前面出現。和DOM2是相反的.
19 另外IE下 事件處理會在全局作用下運行。
20 </script>
21 </html>

?

?

三、測試題-簡答題

1、我們熟知location是window的屬性或者說對象,那么document對象有location屬性么?

解答:window有location對象,document同樣有location對象,

2、如何獲取一個html的文檔聲明?

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

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

解答:html ?

4、如何獲取一個html的head部分?

解答:document.head//很明顯選取head節點.就是<head></head>這段 ?

5、如何獲取一個html的body部分?

解答:document.body//選取body節點. ?

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

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

7、document的location屬性是來干嘛的?

解答:ocation一般主要是用來獲取地址。 ?

8、如何獲取一個文檔當前的地址?

解答:document.location.href//獲取當前地址 ?

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

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

10、innerText和innerHTML的區別是什么(兩點區別)?

解答:一個是獲取文本,一個是獲取標簽。 innerText是IE特有,innerHTML則是符合W3C協議的。 ?

11、innerText里面的標簽還是標簽么?

解答:不是,已經轉義為了文本。 ?

12、element常用的幾個屬性是哪幾個?

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

13、如何通過DOM2方法獲取一個標簽?

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

14、DOM2獲取一個標簽的兩個常見方法是哪兩個?

解答:querySelector和querySelectorAll ?

15、querySelector和querySelectorAll和區別是什么?

解答:前者獲取一個,后者獲取所有對應標簽的。 ?

16、如何在body中把b標簽插入到a標簽之前?

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

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

解答:肯定可以啊 ?

18、在body中用c標簽替換b標簽怎么實現?

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

19、屬性操作的四個方法是哪四個?

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

20、DOM0點擊事件怎么寫?

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

21、DOM2點擊事件怎么寫?

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

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

解答:add和remove接EventListener ?

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

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

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

? 解答:這樣是沒有效果的。雖然是一個函數,但是JS會認為傳入了一個另外一個函數,雖然和之前一個一模一樣。 ?

25、IE事件調用的方法是什么?

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

?

轉載于:https://www.cnblogs.com/Renyi-Fan/p/9105002.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397793.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397793.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397793.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html左中右自適應布局,CSS左中右自適應布局六種方案與原理

css雖簡單,但細節多,技巧性高,易學難精。如何實現左右固定300px , 中間寬度自適應&#xff1f;有如下結構左右中公有樣式, 設置高,設置左右寬度固定300px,左右為紅色&#xff0c;中間為黃色。.item {height: 400px;}.left,.right {width: 300px;background: #f00;}.center {bac…

cacti 忘記密碼的方法

忘記密碼的方法如果是admin 的密碼丟失&#xff0c;id 1&#xff1b;其他用戶以此類推。進入mysqlmysql> show databases; mysql> use cacti;mysql> show tables; mysql> update user_auth set passwordmd5("newpassword") where id1;新的cacti密碼就是…

cr3格式是什么意思_佳能rp的cr3如何打開?修圖為什么要用raw格式?轉碼又是什么?...

佳能rp的cr3如何打開&#xff1f;修圖為什么要用raw格式&#xff1f;轉碼又是什么&#xff1f;這是我個人整理的廣大網友的一些答案&#xff0c;不想浪費大家太多時間就在這里分享給大家希望大家可以快速理解。(搜集的廣大網友的回答&#xff0c;方便大家理解&#xff0c;希望他…

SGU traffic light

占位置。。轉載于:https://www.cnblogs.com/usedrosee/p/4669358.html

計算機基礎應用的培養活動記錄,計算機應用基礎綜合實訓

摘要&#xff1a;《計算機應用基礎綜合實訓(Windows7Office 2010 第3版)》是中等職業教育課程改革國家規劃新教材,根據教育部2009年頒布的"中等職業學校計算機應用基礎教學大綱"中職業模塊的要求編寫,在第2版的基礎上修訂而成,經全國中等職業教育教材審定委員會審定通…

cronschedulebuilder 到時還沒運行完_為什么我的軟件編譯時沒問題,運行時卻出錯?...

首先有件事要和大家說一下&#xff1a;我的公眾號現在可以留言了&#xff01;出于種種不可抗力的原因&#xff08;你們懂的&#xff09;&#xff0c;2018 年 3 月 12 號之后注冊的公眾號將不帶有留言功能&#xff0c;并且前三個月內注冊但并未使用的公眾號的留言功能也會被一并…

Canvas createImageData

createImageData() 方法創建新的空白 ImageData 對象。新對象的默認像素值 transparent black。 對于 ImageData 對象中的每個像素&#xff0c;都存在著四方面的信息&#xff0c;即 RGBA 值&#xff1a; R - 紅色 (0-255)G - 綠色 (0-255)B - 藍色 (0-255)A - alpha 通道 (0-25…

青島計算機類職業中學,青島最好的職業學校有哪些?

青島海洋職業學校是一所由青島市教育局批準&#xff0c;國家承認學歷的重點中等職業學校。學校占地200余畝&#xff0c;建筑面積5萬平方米&#xff0c;在籍學生3975人。學校擁有雄厚的師資力量&#xff0c;以專職教師為主&#xff0c;是一支政治素質好&#xff0c;師德水平高、…

測試1

2018/06/03 測試我的隨筆轉載于:https://www.cnblogs.com/xixirui/p/9129252.html

使用Javascript正則表達式來格式化XML內容

2019獨角獸企業重金招聘Python工程師標準>>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head><meta http-equivcontent-type content"text/html; charsetUTF-8"><title>Xml格式化…

mysql vfp_vfp+mysql問題|交流區 - 梅子Visual FoxPro 編程 - Powered by phpwind

感謝樓上,請現場指導,拜謝c_pzwhfiellist""c_pzwhbglist""For i1 To Fcount()-1c_pzwhfiellistc_pzwhfiellistField(i)","c_pzwhbglistc_pzwhbglistField(i)Space(1)"pzwhk."Field(i)","Chr(10)Endforc_pzwhfiellistc_pzwhf…

Nginx 筆記與總結(3)配置虛擬主機

Nginx 重啟的另外一種方式&#xff0c;相當于 kill -HUP cat /usr/local/nginx/logs/nginx.pid&#xff1a; /usr/local/nginx/sbin/nginx -s reload停止 Nginx 的另外一種方式&#xff1a; /usr/local/nginx/sbin/nginx -s stop重讀日志文件的另一種方式&#xff0c;相當于 …

計算機如何查找目標,如何使用命令行查找計算機地理位置? | MOS86

有多種方法可以從IP地址中了解計算機的位置&#xff0c;但如果您決定使用命令行查找信息&#xff0c;那么您如何處理&#xff1f;今天今天的問題Screenshot由Paul Fenwick(Flickr)提供。問題SuperUser閱讀器AlikElzin-kilaka想知道如何找到一臺電腦首先&#xff0c;AlikElzin-k…

Nmap命令的常用實例

一、Nmap簡介 nmap是一個網絡連接端掃描軟件&#xff0c;用來掃描網上電腦開放的網絡連接端。確定哪些服務運行在哪些連接端&#xff0c;并且推斷計算機運行哪個操作系統&#xff08;這是亦稱 fingerprinting&#xff09;。它是網絡管理員必用的軟件之一&#xff0c;以及用以評…

mysql sqlexception_c-很奇怪-mysql的sql :: SQLException未被其類型捕...

我正在使用帶有此(稍微簡化)代碼的mysql c連接器.try{statement->setString(1, word);statement->executeUpdate();}catch( sql::SQLException& e ){// I dont get herereturn sqlerrno_to_error_code( e.getErrorCode() );}catch( std::exception& e ){// I do …

Linux Kernel系列 - 黃牛X內核代碼凝視

Hanks.Wang - 專注于操作系統與移動安全研究。Linux-Kernel/SELinux/SEAndroid/TrustZone/Encription/MDM Mail - byhankswanggmail.com 牛X的內核代碼凝視 大牛的代碼質量高穩定性好&#xff0c;并且邏輯清晰易讀性比較強&#xff0c;今天看到Linux Kernel紅黑樹的代碼時&a…

電子商務計算機網絡安全技術教案,網絡安全技術教案.pdf

名師精編 優秀教案《網絡安全技術》教案2011-2012 第 2 學期適用班級&#xff1a; 2010 級計算機網絡技術專業編寫&#xff1a;徐英武名師精編 優秀教案第 1~2 課時周次 &#xff11; 日期 2012 年 02 月 14 日 授課班級 2010 級計算機網絡技術課題 網絡安全概述 課 型 理論課教…

技術文章匯總

點擊以下鏈接&#xff0c;可以查看相關技術文章&#xff1a;包括APP軟件開發、手機軟件開發、嵌入式開發、Java和C/C編程&#xff0c;同時涉及原型設計、效果圖設計、切圖、網絡、多媒體、加密、字符編碼、通信原理、測試和項目管理等各方面的知識。APP開發實戰手機開發實戰技術…

咋樣查mysql的url_eclipse用jdbc連接mysql數據庫時,url是填什么?怎樣找出地址?

展開全部 jdbc連接mysql數據62616964757a686964616fe78988e69d8331333337623535庫的url為: jdbc:mysql://主機名或IP抵制:端口號/數據庫名?useUnicode=true&characterEncoding=UTF-8 jdbc連接其他數據庫的連接字符串寫法為:1、Oracle8/8i/9i數據庫(thin模式) Class.for…

HP服務器ile進系統,HP GEN10服務器UEFI安裝Windows Sverver 2012 R2教程

1.操作系統&#xff1a;Windows Server 2012 R2 VL with Update (x64) – DVD (Chinese-Simplified)&#xff0c;MSDN下載地址&#xff1a;ed2k://|file|cn_windows_server_2012_r2_vl_with_update_x64_dvd_6052729.iso|5545527296|BD499EBCABF406AB82293DD8A5803493|/2.鏡像寫…