国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript DOM節點操作方法總結

2019-11-20 09:10:36
字體:
來源:轉載
供稿:網友

節點類型主要有三種:元素節點,屬性節點和文本節點。

而對DOM的主要也就是圍繞元素節點和屬性節點增刪改查。下面就分別從對元素節點的操作和對屬性節點的操作來介紹。

元素節點

在對DOM進行增刪改之前,首先要找到對應的元素。具體的查找方法如下:

getElementByID()       // 得到單個節點 getElementsByTagName()    // 得到節點數組 NodeList getElementsByName()      // 得到節點數組 NodeList

同時還可以利用元素節點的屬性獲取它的父子節點和文本節點:

子節點

 

Node.childNodes  //獲取子節點列表NodeList; 注意換行在瀏覽器中被算作了text節點,如果用這種方式獲取節點列表,需要進行過濾Node.firstChild  //返回第一個子節點Node.lastChild  //返回最后一個子節點

 父節點

Node.parentNode   // 返回父節點Node.ownerDocument  //返回祖先節點(整個document)

同胞節點

Node.previousSibling    // 返回前一個節點,如果沒有則返回nullNode.nextSibling       // 返回后一個節點

新增節點首先要創建節點,然后將新建的節點插入DOM中,所以下面分別介紹創建節點和插入節點的方法,復制節點的方法也在創建節點中進行介紹。

創建節點

createElement()    // 按照指定的標簽名創建一個新的元素節點

創建代碼片段(為避免頻繁刷新DOM,可以先創造代碼片段,完成所有節點操作之后統一添加到DOM中)

createDocumentFragment()

復制節點

clonedNode = Node.cloneNode(boolean) // 只有一個參數,傳入一個布爾值,true表示復制該節點下的所有子節點;false表示只復制該節點

插入節點

/*插入node*/parentNode.appendChild(childNode);  // 將新節點追加到子節點列表的末尾parentNode.insertBefore(newNode, targetNode);  //將newNode插入targetNode之前/*插入html代碼*/node.insertAdjacentHTML('beforeBegin', html);  //在該元素之前插入代碼node.insertAdjacentHTML('afterBegin', html);  //在該元素的第一個子元素之前插入代碼node.insertAdjacentHTML('beforeEnd', html);  //在該元素的最后一個子元素之后插入代碼node.insertAdjacentHTML('afterEnd', html);  //在該元素之后插入代碼

替換節點

parentNode.replace(newNode, targetNode);    //使用newNode替換targetNode

移除節點

parentNode.removeChild(childNode);  // 移除目標節點node.parentNode.removeChild(node);    //在不清楚父節點的情況下使用

屬性節點

操作屬性節點,就是對DOM樣式進行增刪改查。對于行內樣式、內聯樣式、外部樣式有不同的操作方法;各種方法獲得的樣式也有可讀可寫和只讀之分。

直接獲取CSS樣式

node.style.color     // 可讀可寫

Style本身的屬性和方法

node.style.cssText     //獲取node行內樣式字符串node.style.length      //獲取行內樣式個數node.style.item(0)     //獲取指定位置的樣式

獲取和修改元素樣式

HTML5為元素提供了一個新的屬性:classList 來實現對元素樣式表的增刪改查。操作如下:

node.classList.add(value);     //為元素添加指定的類node.classList.contains(value);  // 判斷元素是否含有指定的類,如果存在返回truenode.classList.remove(value);  // 刪除指定的類node.classList.toggle(value);  // 有就刪除,沒有就添加指定類

修改DOM特性的方法

Node.getAttribute('id')    // 獲取Node.setAttribute('id')    // 設置Node.removeAttribute()     // 移除Node.attributes        // 獲取DOM全部特性

只讀方法

getComputedStyle是window的方法。它能夠獲取當前元素所有最終使用的CSS屬性值,但是是只讀的。它有兩個參數,第一個為傳入的節點,第二個可以傳入:hover, :blur等獲取其偽類樣式,如果沒有則傳入null。

然而IE并不支持getComputedStyle方法,可以使用currentStyle來保持兼容性:

window.getComputedStyle ? window.getComputedStyle(node, null) : node.currentStyle

以上這篇JavaScript DOM節點操作方法總結就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桂阳县| 西乡县| 沾化县| 莲花县| 甘德县| 微山县| 白河县| 临湘市| 合水县| 芜湖市| 涞水县| 景洪市| 永福县| 新宁县| 泰安市| 昆山市| 桃园县| 慈利县| 沈丘县| 崇阳县| 靖西县| 治县。| 巍山| 商河县| 滁州市| 伊川县| 余干县| 宝清县| 兴国县| 景东| 西丰县| 毕节市| 榕江县| 肥西县| 响水县| 南乐县| 林甸县| 卢湾区| 卓资县| 永宁县| 玉门市|