nodeType 屬性值是代表節點類型的數字 只讀
節點類型:
- 元素節點 -> 1
- 屬性節點 -> 2
- 文本節點 -> 3
- 注釋節點 -> 8
- document節點 -> 9
- DocumentFragment節點 -> 11
nodeName 屬性值取決去節點類型 ,只讀,不能寫
- 元素節點值為大寫的元素標簽名 document.body.nodeName //"BODY"
- document節點值為 "#document" document.nodeName //"#document"
- 文本節點的nodeName值為 "#text"
- 注釋節點的nodeName值為 "#comment"
nodeValue 屬性值是Text節點或Comment節點的文本內容 ,可讀可寫
hasChildNodes()方法 判斷當前節點是否有子節點,有返回true,否則false
ownerDocument 屬性表示指向整個文檔的文檔節點,通過這個屬性不能層層回溯到頂端,而是可以直接訪問文檔節點。
normalize() 將多個相鄰文本節點合並
splitText() 將一個文本節點分割成兩個文本節點,按照指定位置分割nodeValue值,原來的節點包含從開始到指定位置之前的值,新文本節點將包含剩下的值。
返回新文本節點。分割文本節點是從文本提取技術的一種常用Dom解析技術。
遍歷(查)節點樹 都是只讀
parentNode 屬性指向父節點
childNodes 子節點們,一個nodeList對象里面存放子節點們,基於Dom結構動態執行查詢結果,當Dom結構變化時能自動反應在NodeList對象中,是個類數組。
firstChild 第一個子節
lastChild 最后一個子節點
nextSibling 后一個兄弟節點
previousSibling 前一個兄弟節點
遍歷(查)元素節點樹 都是只讀
parentElement 當前元素父元素節點
children 子元素節點們
firstElementChild 第一個元素節點
lastElementChild 最后一個元素節點
nextElementSibling 后一個兄弟元素節點
previousElementChild 前一個兄弟元素節點
操作某個節點的子節點(NodeList列表),也就是說要使用下面的方法必須先取得父節點
appendChild() 1個參數:要插入的節點,返回要添加的節點。
該方法向NodeList列表末尾添加節點,如果傳入的節點是文檔的一部分了,就會將原來位置的節點轉移到最后一個。
insertBefore() 2個參數:要插入的節點,作為參照的節點,返回要插入的節點。
如果第二個參數為null,則與appendChild操作相同
replaceChild() 2個參數:要插入的節點,要替換的節點,返回要被替換的節點,同時要插入的節點占據其位置。
removeChild() 1個參數:要移除的節點,返回要移除的節點
cloneNode() 1個參數 true 或 false,返回復制的節點。
true深克隆:復制節點及整個節點子樹,false淺克隆:只復制節點本身。
document下的屬性
document.title 取得<title>元素中的文本--顯示在瀏覽器窗口的標題 可修改
document.URL 取得地址欄顯示的url
document.domain 取得域名 可修改
document.referrer 取得來源頁面的url
document.documentElement 取得對<HTML>的引用
document.body 取得對<body>的引用
html5 document新增屬性
document.head 取得對<head>的引用
document.readState 有兩個可能的值:loading 正在加載完文檔 complete:已經加載文檔
獲取元素引用的屬性和方法
只有HTMLDocument類型才有的方法
- getElementById()
- getElemenstByName() 返回帶有給定name特性的所有元素(一個HTMLcollection對象)
HTMLDocument 和 HTMLElement 類型都有的方法
- getElementsByTagName() 返回一個HTMLcollection對象
- getElementsByTagName("*") 返回文檔上的所有元素個HTMLcollection對象
- getElementsByClassName() 返回個HTMLcollection對象
- querySelector() 參數可根據css的寫法 返回符合條件的第一個元素
- querySelectorAll() 返回符合條件的NodeList對象
HTMLcollection對象下的屬性 namedItem() 通過元素的name特性取得集合中的項。也可以同過中括號里面放字符串,在后台會自動調用namedItem方法。
document下的一些特殊集合,這些集合都是HTMLCollection對象
document.anchors 包含文檔中所有帶name特性的a元素
document.forms 包含文檔中的所有<form>元素 與document.getElementByTagName("form")得到的結果相同
document.images 包含文檔中所有的<img>元素 與document.getElementByTagName("img")得到的結果相同
document.links 包含文檔中所有帶href特性的<a>元素
每個HTML元素都存在下列標准特性 都可修改
id : 文檔中唯一標識符
title : 有關元素附加說明信息,鼠標滑過才會出現提示
dir : 語言的方向,值為 ltr left-to-right 從左往右。rtl 從右往左。
className : 元素指定的css類。
例:<div id="myDiv" class="bd" title="Body text" dir="ltr"></div
var div = document.getElementById("myDiv");
alert(div.id); //"myDiv""
alert(div.className); //"bd"
alert(div.title); //"Body text"
alert(div.dir); //"ltr"
取得特性,每個元素都有一或多個特性 。所有的特性都是屬性,直接給屬性賦值就可以給特性賦值。
getAttribute() 取得元素的特性值(可以是自定義特性)
setAttribute() 設置元素的特性值(可以是自定義特性)兩個參數:要設置的特性名 特性值
removeAttribute() 刪除元素的特性
創建節點
document.createElement() 創建元素節點
documente.createTextNode() 創建文本節點
document.createComment() 創建注釋節點
document.createDocumentFragment() 創建文檔碎片節點
webkitMatchesSelector() 參數:css選擇符。 如果調用元素與該選擇符匹配返回true,否則false
操作類名:元素的classList屬性,包含一個DOMTokenList對象。這個元素下的類名列表 classList下有如下方法
add(value) 將給定的字符串添加到列表中。 添加類名
contains(value)元素是否有給定的類名 有返回true,否則false
remove(value) 從列表中刪除給定類名
toggle(value)列表中有給定類名刪除,沒有就添加這個類名
插入HTML文本
innerHTML
outerHTML
insertAdjecentHTML()方法 兩個參數:插入位置 要插入的HTML文本
其中第一個參數只能是下列值之一
插入兄弟元素
- "beforebegin":當前元素之前插入兄弟元素
- "afterend" :在當前元素之后插入兄弟元素
插入子元素
- "afterbegin" : 在當前元素之下的一個子元素之前插入新的子元素
- "beforeend" : 在當前元素之下的最后插入子元素
Element 元素下的方法
ScrollIntoView() 元素調用這個方法可以出現在視口中 參數:true:元素頂部與視口頂部平齊 false:元素底部與視口底部平齊
contains() 調用元素時候包含參數元素 包含true 不包含false