元素物件的標準特性:
1 .obj.id
2. obj.classname
3. obj.title
4.obj.lang :元素內容的語言**
5.obj.dir :ltr 或rtl
自定義特性:加 data- 字首
特殊的特性: style onclick
取得特性:
getattribute() setattribute() removeattribute()
注意:自定義特性只能通過以上方法取得和設定,不能用物件.屬性的方法
元素物件的非標準屬性:例:
元素物件js屬性:
obj.tagname : 獲取標籤名
obj.innerhtml:標籤裡面的所有內容
obj.outerhtml; 包括標籤在內的所有東西
obj.textcontent; 標籤內的文字內容
獲取元素物件的方法:
document.getelementbyid();
obj/document.getelementsbytagname();
document.getelementsbyclassname();
document.getelementsbyname();
queryselector():接收乙個css選擇符,返回匹配的第乙個元素
queryselectorall();返回乙個nodelist例項,使用 或者 item()訪問
直接獲取dom元素物件(集合):
1. document.documentelement:指向元素
2. document.head;
3. document.title;
document.url :頁面完整的url
document.domain :取得網域名稱,將其設定為url包含的域
document.referrer: 取得**頁面的url
4. document.body;
5. document.links;取得帶有href特性的元素
6. document.images;
7. document.forms;
8. document.anchors; 取得帶有name特性的元素
9. document.rows;
10. tableobj.rows;
11. selectobj.options;
12 document.doctype;
node
節點屬性
nodevalue nodename nodetype
節點關係
childnodes屬性儲存著nodelist物件(類陣列),有length屬性
訪問:方括號 item();
parentnode 父節點
firstchild : childnodes[0]
lastchild : childnodes[somennode.childnodes.length -1]
previoussibling 前乙個節點
nextsibling 下乙個節點
ownerdocument :指向表示整個文件的文件節點
haschildnodes() :包含子節點則返回true
操作節點
insertbefore(): 插入到某個節點前面
引數:要插入的節點、參照節點
replacechild(): 引數 :要插入的節點、要替換的節點
removechild(): 引數:要移除的節點
注意:以上方法操作某節點的子節點,要取得父節點
clonenode() 引數:布林值 表示是否執行深複製,複製完可以用上述方法插入到文件中
淺複製:只複製節點本身
深複製: 複製節點及其整個子節點樹
normalize() : 處理文件樹中的文字節點 (使規範化)
用於:文字節點不包含文字或接連兩個文字節點
dom 的一致性檢測
document.implementation 屬性:提供相應資訊和功能
hasfeature():
引數 :要檢測的dom功能名稱和版本號,存在則返回true
var hasxmldom=document.implementation.hasfeature(「xml」,」1.0」);
將輸出流寫入到頁面
document.write() :原樣寫入
document.writeln() : 在字串末尾新增乙個換行符(\n)
.close() .open() :分別用於關閉和開啟頁面的輸入流
element
常見特徵:
nodetype:1
nodename:元素的標籤名
nodevalue: null
div.tagname == div.nodename ,在html中大寫
比較操作:
if(mydiv.tagname.tolowercase()== "div")catch(ex)catch(ex)");
操作**
table
caption
tbodies
tfoot
thead
rows
tbody
rows
deleterow(pos);
insertrow(pos);
trcells deletecell(pos) insertcell(pos)
nodelist 、namednodemap、htmlcollection 三個集合都是動態的,儲存著最新的、最準確的資訊
元素遍歷
屬性
childelementcount
firstelementchild
lastelementchild
previouselementsibling
nextelementsibling
操作類名
屬性:classlist :有length屬性表示包含多少個元素 /item()
方法:obj.classlist.add(value); 新增
obj.classlist.remove(value); 刪除
obj.classlist.contains(value);//true /false
obj.classlist.toggle(value); 有則刪除,無則新增
焦點管理
document.activeelement :引用dom中當前獲得了焦點的元素
document.hasfocus():用於確定文件是否獲得了焦點
htmldocument的變化
readystate屬性
兩個值:loading 正在載入文件, complete 已經載入完文件
相容模式
判斷瀏覽器採用了那種渲染模式
標準模式:document.compatmode為『css1compat』
混雜模式:document.compatmode為『backcompat』
head屬性
var head=document.head||document.getelementsbytagname(『head』)[0];
charset :
表示文件實際使用的字符集
修改:、響應頭部、直接設定charset屬性
自定義資料屬性
1. 新增非標準屬性,加字首 data - 為元素提供與渲染無關的資訊
2. dataset 屬性:訪問自定義屬性的值
DOM擴充套件
1選擇符 queryselector 返回第乙個匹配的元素 queryselectorall 返回所有匹配的元素 html5 getelementbyclassname 引數為乙個或多個類名,引數不重要,返回是乙個nodelist 集合 classlist add 加入字串 contains 列表中...
DOM擴充套件
1.selector api level1 ie8 queryselector body mydiv selected 取類為此的第乙個元素 queryselectorall 返回乙個nodelist例項,返回的值實際上是帶有所有屬性和方法的nodelist,底層類似於一組元素快照,而非對文件進行搜...
DOM的擴充套件
dom擴充套件主要為selectors api和html5 selectors api的兩個核心放方法queryselector 和queryselectorall 1.queryselector 接收css選擇符,返回與該模式匹配的第乙個元素。獲取body元素 var body document....