最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript DOM節(jié)點(diǎn)操作方法總結(jié)

 更新時(shí)間:2016年08月23日 10:34:58   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇JavaScript DOM節(jié)點(diǎn)操作方法總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

節(jié)點(diǎn)類型主要有三種:元素節(jié)點(diǎn),屬性節(jié)點(diǎn)和文本節(jié)點(diǎn)。

而對(duì)DOM的主要也就是圍繞元素節(jié)點(diǎn)和屬性節(jié)點(diǎn)增刪改查。下面就分別從對(duì)元素節(jié)點(diǎn)的操作和對(duì)屬性節(jié)點(diǎn)的操作來(lái)介紹。

元素節(jié)點(diǎn)

在對(duì)DOM進(jìn)行增刪改之前,首先要找到對(duì)應(yīng)的元素。具體的查找方法如下:

getElementByID()       // 得到單個(gè)節(jié)點(diǎn)
 getElementsByTagName()    // 得到節(jié)點(diǎn)數(shù)組 NodeList
 getElementsByName()      // 得到節(jié)點(diǎn)數(shù)組 NodeList

同時(shí)還可以利用元素節(jié)點(diǎn)的屬性獲取它的父子節(jié)點(diǎn)和文本節(jié)點(diǎn):

子節(jié)點(diǎn)

 

Node.childNodes  //獲取子節(jié)點(diǎn)列表NodeList; 注意換行在瀏覽器中被算作了text節(jié)點(diǎn),如果用這種方式獲取節(jié)點(diǎn)列表,需要進(jìn)行過(guò)濾
Node.firstChild  //返回第一個(gè)子節(jié)點(diǎn)
Node.lastChild  //返回最后一個(gè)子節(jié)點(diǎn)

 父節(jié)點(diǎn)

Node.parentNode   // 返回父節(jié)點(diǎn)
Node.ownerDocument  //返回祖先節(jié)點(diǎn)(整個(gè)document)

同胞節(jié)點(diǎn)

Node.previousSibling    // 返回前一個(gè)節(jié)點(diǎn),如果沒(méi)有則返回null
Node.nextSibling       // 返回后一個(gè)節(jié)點(diǎn)

新增節(jié)點(diǎn)首先要?jiǎng)?chuàng)建節(jié)點(diǎn),然后將新建的節(jié)點(diǎn)插入DOM中,所以下面分別介紹創(chuàng)建節(jié)點(diǎn)和插入節(jié)點(diǎn)的方法,復(fù)制節(jié)點(diǎn)的方法也在創(chuàng)建節(jié)點(diǎn)中進(jìn)行介紹。

創(chuàng)建節(jié)點(diǎn)

createElement()    // 按照指定的標(biāo)簽名創(chuàng)建一個(gè)新的元素節(jié)點(diǎn)

創(chuàng)建代碼片段(為避免頻繁刷新DOM,可以先創(chuàng)造代碼片段,完成所有節(jié)點(diǎn)操作之后統(tǒng)一添加到DOM中)

createDocumentFragment()

復(fù)制節(jié)點(diǎn)

clonedNode = Node.cloneNode(boolean) // 只有一個(gè)參數(shù),傳入一個(gè)布爾值,true表示復(fù)制該節(jié)點(diǎn)下的所有子節(jié)點(diǎn);false表示只復(fù)制該節(jié)點(diǎn)

插入節(jié)點(diǎn)

/*插入node*/
parentNode.appendChild(childNode);  // 將新節(jié)點(diǎn)追加到子節(jié)點(diǎn)列表的末尾
parentNode.insertBefore(newNode, targetNode);  //將newNode插入targetNode之前

/*插入html代碼*/
node.insertAdjacentHTML('beforeBegin', html);  //在該元素之前插入代碼
node.insertAdjacentHTML('afterBegin', html);  //在該元素的第一個(gè)子元素之前插入代碼
node.insertAdjacentHTML('beforeEnd', html);  //在該元素的最后一個(gè)子元素之后插入代碼
node.insertAdjacentHTML('afterEnd', html);  //在該元素之后插入代碼

替換節(jié)點(diǎn)

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

移除節(jié)點(diǎn)

parentNode.removeChild(childNode);  // 移除目標(biāo)節(jié)點(diǎn)
node.parentNode.removeChild(node);    //在不清楚父節(jié)點(diǎn)的情況下使用

屬性節(jié)點(diǎn)

操作屬性節(jié)點(diǎn),就是對(duì)DOM樣式進(jìn)行增刪改查。對(duì)于行內(nèi)樣式、內(nèi)聯(lián)樣式、外部樣式有不同的操作方法;各種方法獲得的樣式也有可讀可寫和只讀之分。

直接獲取CSS樣式

node.style.color     // 可讀可寫

Style本身的屬性和方法

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

獲取和修改元素樣式

HTML5為元素提供了一個(gè)新的屬性:classList 來(lái)實(shí)現(xiàn)對(duì)元素樣式表的增刪改查。操作如下:

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

修改DOM特性的方法

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

只讀方法

getComputedStyle是window的方法。它能夠獲取當(dāng)前元素所有最終使用的CSS屬性值,但是是只讀的。它有兩個(gè)參數(shù),第一個(gè)為傳入的節(jié)點(diǎn),第二個(gè)可以傳入:hover, :blur等獲取其偽類樣式,如果沒(méi)有則傳入null。

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

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

以上這篇JavaScript DOM節(jié)點(diǎn)操作方法總結(jié)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

邯郸县| 磐安县| 灵丘县| 宁南县| 左权县| 高阳县| 太原市| 龙川县| 奉贤区| 库尔勒市| 陵川县| 张家川| 西平县| 海安县| 桃园县| 盘山县| 临湘市| 隆子县| 安新县| 门源| 抚宁县| 房产| 三河市| 阿克| 改则县| 西和县| 靖边县| 岳普湖县| 鄂伦春自治旗| 萝北县| 长海县| 满洲里市| 宝山区| 斗六市| 齐河县| 淮南市| 博客| 江陵县| 海兴县| 东台市| 吴旗县|