首頁 > web前端 > js教程 > 主體

JavaScript中DOM的詳細介紹(程式碼範例)

不言
發布: 2019-03-05 15:14:01
轉載
2736 人瀏覽過

這篇文章帶給大家的內容是關於JavaScript中DOM的詳細介紹(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

1、DOM:文檔物件(document)模型。將整個html頁面視為一棵倒掛的樹,html就是這棵樹根節點,     head,body就是這棵樹的子節點。 DOM模型要求將html中每對標籤看作節點物件來操作

2.DOM的作用:

JavaScript 能夠改變頁面中的所有HTML 元素

JavaScript 能夠改變頁面中的所有HTML 屬性
JavaScript 能夠改變頁面中的所有CSS 樣式
JavaScript 能夠對頁面中的所有事件做出反應

3.DOM查找頁面中的元素節點物件:

3.1:透過id查找頁面中一個元素節點物件
eg:   

var ob1=document.getElementById("d1");
 //将节点对象中内容输出
 alert(ob1.innerHTML);
登入後複製

3.2:透過標籤名稱尋找頁面中元素節點集合或陣列
eg:

var arr1=document.getElementsByTagName("h2");
//遍历节点对象集合,输出每个对象的内容
for(var i=0;i<arr1.length;i++){
alert(arr1[i].innerHTML);
 }
登入後複製

# 3.3:透過類別名稱尋找頁面中元素節點集合或陣列
 eg:

var arr2=document.getElementsByClassName("c1");
            //遍历节点对象集合,输出每个对象的内容
            for(var i=0;i<arr2.length;i++){
                    alert(arr2[i].innerHTML);
            }
登入後複製

3.4:透過name屬性來尋找元素節點集合或陣列
eg:

var arr3=document.getElementsByName("hobby");
            //遍历节点对象集合,输出每个对象的value属性值
            for(var i=0;i<arr3.length;i++){
                alert(arr3[i].value);
           }
登入後複製

4.DOM操作節點物件的內容(標籤中文字內容,子標籤,子標籤文字......):
4.1 :取得節點內容:節點物件.innerHTML
eg:

alert(ob1.innerHTML);
登入後複製

4.2:修改節點內容: 節點物件.innerHTML=「新值」;

eg:

ob1.innerHTML="哈哈";
登入後複製

4.3:清空節點內容:
eg:

ob1.innerHTML="";
登入後複製

5.DOM操作節點物件的文字內容(標籤中的文字和子標籤中的文字...):
5.1:取得節點文字內容(標籤中的文字與子標籤中的文字):節點物件.innerText
eg: 

alert(ob1.innerText);
登入後複製

5.2:修改節點文字內容(標籤中的所有內容都修改):節點物件.innerText=「新值」;
 eg:

ob1.innerText="呵呵";
登入後複製

6.DOM操作節點物件的屬性:
6.1:取得節點物件的屬性:節點物件.屬性名
 eg:

 alert(ob2.src);
登入後複製

6.2:修改節點物件屬性:節點物件.屬性名稱=「值」;
eg:

 ob2.src="img/img-2.jpg";
登入後複製

6.3:刪除節點物件的屬性:節點物件.removeAttribute("屬性名稱");
eg:

ob2.attributes.removeNamedItem("title");
ob2.removeAttribute("title");
登入後複製

7.DOM操作節點物件樣式:
7.1:設定節點物件的樣式:節點物件.style.樣式名稱=“樣式值」;
eg:    

ob1.style.color="red";
ob1.style.backgroundColor="blue";
登入後複製

7.2: 取得節點物件的樣式: 節點物件.style.樣式名稱
eg: 

#
alert(ob1.style.color);
登入後複製

8.事件
    8.1:onload:頁面載入完事件。
    8.2:onclick:滑鼠點選事件。
    8.3:onchange:改變事件。
    8.4:onblur:遊標離開事件。
    8.5:onfocus:取得遊標事件。
    8.6:onmouseover:滑鼠經過事件。
    8.7:onmouseout:滑鼠離開事件。

9.DOM操作節點物件
9.1:建立節點物件:
9.1.1:建立標籤節點物件:document.createElement("標籤名稱");
eg:

//创建节点对象
var node1=document.createElement("p");
登入後複製

eg:

//创建节点对象
var node1=document.createElement("h1");
node1.innerHTML="你好<span>中国</span>";
登入後複製

9.1.2:建立文字物件:document.createTextNode("文字內容");
eg:

//创建文本对象
var node1text=document.createTextNode("这是一个段落");
登入後複製

9.2:新增節點物件:節點物件.appendChild(子節點);
eg:

//将节点对象添加body中
document.getElementById("d1").appendChild(node1);
登入後複製
//直接向一个标签中添加子节点
document.getElementById("d2").innerHTML=document.getElementById                                
("d2").innerHTML+"<h2>哈哈</h2><p>呵呵呵</p>";
登入後複製

9.3:刪除節點物件:父節點物件.removeChild(子節點物件);
eg:

//获得父节点对象
var parentNode=document.getElementById("d1")
 //获得要删除的子节点对象
 var childNode=document.getElementsByTagName("p")[0];
//删除子节点对象
//parentNode.removeChild(childNode);
//删除当前节点对象,只有谷歌,火狐
childNode.remove();
登入後複製

9.4:複製節點物件:節點物件.cloneNode(true);
eg:

//获得要复制的节点对象
var childNode=document.getElementsByTagName("p")[0];
//复制节点对象,true表示复制节点的同时将内容复制,false反之
var copyNode=childNode.cloneNode(true);
//将复制的节点添加到body中
document.getElementById("d1").appendChild(copyNode);
登入後複製

9.5: 取代元素中的子節點:父節點物件.replaceChild(newnode,oldnode);

以上是JavaScript中DOM的詳細介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板