學習DOM基礎3

2021-07-16 08:37:08 字數 3265 閱讀 4068

1 dom把你編寫的網頁文件轉換為乙個文件物件;物件是一種自足的資料集合;與某個特定物件相關聯的變數被稱為這個物件的屬性;只能通過某個特定函式去呼叫的函式被稱為這個物件的方法;

2物件可以分為三種型別:使用者定義物件、內建物件、宿主物件;

宿主物件最基本的物件window

物件;bom(

瀏覽器物件模型);

3 dom把文件表示為一顆家譜樹;家譜樹本身就是一種模型;根元素是

html

,html

代表整個文件;

4 節點(

node

)這個詞是網路術語,他表示網路中的乙個連線點;乙個網路就是由一些節點構成的集合;包含著其他型別的節點

: 元素節點、文字節點、屬性節點;

5 在「購物清單」例子裡,

元素包含著文字「

don』t forget to buy this stuff 」

.他是乙個文字節點(

text node

);文字節點總是被包含在元素節點的內部;但並非所有的元素節點都包含文字節點;

6  dom的原子是元素節點(

element nod);

7 屬性節點(

attribute nod

)對元素做出更具體的描述;

例:」a gentle reminder」>don』t forget to buy this stuff.

在dom

中tittle=」a gentle reminder」是乙個屬性節點;

8 並非所有的元素都包含著屬性,但所有的屬性都被元素包含著;

9 繼承(

inheritance

)是css

技術中一項強大的功能;為了把某乙個或某幾個元素與其他元素區別開來,需要使用

class

屬性和id

屬性;

10可以在網頁上任意任用

class

屬性,可以為

class

屬性相同的所有元素定義同一種樣式;

11id屬性的用途是給網頁裡的某個元素加上獨一無二的識別符號;

id本身只能使用一次;

id就像是乙個掛鉤,一頭連著文件裡的某個元素,另一頭連著

css樣式表裡的某個樣式;

dom也可以使用這種掛鉤;

12三種

dom方法獲取元素節點:

getelementbyid, getelementsbytagname, getelementsbyclassname;

13 getelementbyid,這個方法將返回乙個與那個給定

id屬性值的元素節點對應的物件;請注意區分大小寫;他是

document

物件特有的函式;在指令碼**裡函式名的後面必須跟有一對圓括號,這對括號包含著函式的引數;

getelementbyi

方法只有乙個引數:你想獲得的那個元素的

id屬性的值,這個

id值必須放在單引號或雙引號裡;

document.getelementbyid(「purchases」);

14  type of 操作符可以告訴我們他的運算元是乙個字串、陣列、函式、布林值、還是物件;alert (typeof document.getelementbyid(「purchases」));

15我本人並不贊成把

js**直接嵌入文件,但這確實是簡單快捷的測試手段;

16 事實上文件中的每個元素都有物件;利用

dom提供的方法能得到任何乙個物件;

17 getelementsbytagname方法返回乙個物件陣列,每個物件分別對應著文件裡有著給定標籤的乙個元素;這個方法也只是只有乙個引數的函式,他的引數是標籤的名字:

element.getelementsbytagname(tag);

例:document.getelementsbytagname(「li」);這個呼叫將返回乙個物件陣列,每個物件都對應著document

物件中的乙個列表項元素;與任何其他陣列一樣我們可以利用

length

屬性查出這個陣列裡的元素個數;

alert (document.getelementsbytagname(「li」).length);

18 改善**的可讀性:只要把

document.getelementsbytagname(「li」) 賦值給乙個變數即可;

var iteams=document.getelementsbytagname(「li」);

for(var i=0;i{

alert(typeof iteams[「i」]);

19萬用字元必須放在引號裡

(「*」);如果你想知道某份元素裡總共有多少元素節點,像下面這樣使用萬用字元即可:alert (document.getelementsbytagname(「*」).lenth);

20 getelementsbyclassname可以通過

class

屬性中的類名來訪問元素;也只接受乙個函式就是類名

getelementsbyclassname(class);

用這個方法還可以查詢那些帶有多個類名的元素;

alert (document.getelementsbyclassname(「important sale」).length);不僅類名的實際順序不重要,就算元素還帶有更多類名也沒有關係;

21 get attribute是乙個函式。他只有乙個引數

-你打算查詢的屬性的名字:

object.getattribute(attribute);

22 getattribute方法不屬於

document

物件,所以不能通過

document

物件呼叫,他只能通過元素節點物件呼叫;

23 if(something)比if(

something!=null

)更簡明的**;

24 setattribute也只能用於元素節點,允許我們對屬性節點值做出修改;

語法:object.setattribute(attribute,value);

25 如果乙個屬性的節點原先並不存在,

setattribute

先建立這個屬性在設定他的值;如果用在乙個本身就有這個屬性的元素節點上,這個屬性值就和被覆蓋掉;

26 通過

setattribute

對文件做出修改後,不會反應在文件本身的源**裡;因為

dom的工作模式先載入文件的靜態內容,再動態重新整理,動態重新整理不影響文件的靜態內容;這正是

dom的真正威力:對頁面內容進行重新整理卻不需要在瀏覽器裡重新整理頁面;

JS基礎3 DOM文件

二 文件操作 1.結構規範 document html head meta title body1.獲取文件元素 charset utf 8 this is a pagetitle head id test 人物簡介h1 id introduce class cli test 這是乙個萬眾矚目的人物...

AJAX學習 DOM基礎 2

閒話少說,繼續學習dom的一些基礎知識 childnodes 可以將節點樹中任何乙個元素的所有子元素檢索出來,這個屬性返回乙個陣列,包含 了給定元素節點的全體子元素。nodetype 一般用於文字節點 用來區分節點的型別,元素節點的nodetype屬性值是1,屬性節點的nodetype屬性值 是2,...

JS基礎學習二 DOM

b 獲取節點 b document.getelementbyid nodeid document.getelementsbytagname nodetagname b 樹形操作 b firstchild lastchild childnodes parentnode nextsibling 同級的下...