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

JavaScript之DOM_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

 更新時(shí)間:2017年07月03日 10:24:53   作者:liaoxuefeng  
由于HTML文檔被瀏覽器解析后就是一棵DOM樹(shù),要改變HTML的結(jié)構(gòu),就需要通過(guò)JavaScript來(lái)操作DOM。始終記住DOM是一個(gè)樹(shù)形結(jié)構(gòu)。

由于HTML文檔被瀏覽器解析后就是一棵DOM樹(shù),要改變HTML的結(jié)構(gòu),就需要通過(guò)JavaScript來(lái)操作DOM。
始終記住DOM是一個(gè)樹(shù)形結(jié)構(gòu)。操作一個(gè)DOM節(jié)點(diǎn)實(shí)際上就是這么幾個(gè)操作:

  1. 更新:更新該DOM節(jié)點(diǎn)的內(nèi)容,相當(dāng)于更新了該DOM節(jié)點(diǎn)表示的HTML的內(nèi)容;
  2. 遍歷:遍歷該DOM節(jié)點(diǎn)下的子節(jié)點(diǎn),以便進(jìn)行進(jìn)一步操作;
  3. 添加:在該DOM節(jié)點(diǎn)下新增一個(gè)子節(jié)點(diǎn),相當(dāng)于動(dòng)態(tài)增加了一個(gè)HTML節(jié)點(diǎn);
  4. 刪除:將該節(jié)點(diǎn)從HTML中刪除,相當(dāng)于刪掉了該DOM節(jié)點(diǎn)的內(nèi)容以及它包含的所有子節(jié)點(diǎn)。

在操作一個(gè)DOM節(jié)點(diǎn)前,我們需要通過(guò)各種方式先拿到這個(gè)DOM節(jié)點(diǎn)。最常用的方法是document.getElementById()document.getElementsByTagName(),以及CSS選擇器document.getElementsByClassName()

由于ID在HTML文檔中是唯一的,所以document.getElementById()可以直接定位唯一的一個(gè)DOM節(jié)點(diǎn)。

document.getElementsByTagName()document.getElementsByClassName()總是返回一組DOM節(jié)點(diǎn)。要精確地選擇DOM,可以先定位父節(jié)點(diǎn),再?gòu)母腹?jié)點(diǎn)開(kāi)始選擇,以縮小范圍。

例如:

// 返回ID為'test'的節(jié)點(diǎn):
var test = document.getElementById('test');

// 先定位ID為'test-table'的節(jié)點(diǎn),再返回其內(nèi)部所有tr節(jié)點(diǎn):
var trs = document.getElementById('test-table').getElementsByTagName('tr');

// 先定位ID為'test-div'的節(jié)點(diǎn),再返回其內(nèi)部所有class包含red的節(jié)點(diǎn):
var reds = document.getElementById('test-div').getElementsByClassName('red');

// 獲取節(jié)點(diǎn)test下的所有直屬子節(jié)點(diǎn):
var cs = test.children;

// 獲取節(jié)點(diǎn)test下第一個(gè)、最后一個(gè)子節(jié)點(diǎn):
var first = test.firstElementChild;
var last = test.lastElementChild;

第二種方法是使用querySelector()querySelectorAll(),需要了解selector語(yǔ)法,然后使用條件來(lái)獲取節(jié)點(diǎn),更加方便:

// 通過(guò)querySelector獲取ID為q1的節(jié)點(diǎn):
var q1 = document.querySelector('#q1');

// 通過(guò)querySelectorAll獲取q1節(jié)點(diǎn)內(nèi)的符合條件的所有節(jié)點(diǎn):
var ps = q1.querySelectorAll('div.highlighted > p');

注意:低版本的IE<8不支持querySelectorquerySelectorAll。IE8僅有限支持。

嚴(yán)格地講,我們這里的DOM節(jié)點(diǎn)是指Element,但是DOM節(jié)點(diǎn)實(shí)際上是Node,在HTML中,Node包括Element、Comment、CDATA_SECTION等很多種,以及根節(jié)點(diǎn)Document類(lèi)型,但是,絕大多數(shù)時(shí)候我們只關(guān)心Element,也就是實(shí)際控制頁(yè)面結(jié)構(gòu)的Node,其他類(lèi)型的Node忽略即可。根節(jié)點(diǎn)Document已經(jīng)自動(dòng)綁定為全局變量document。

練習(xí)

如下的HTML結(jié)構(gòu):

JavaScript
Java
Python
Ruby
Swift
Scheme
Haskell

<!-- HTML結(jié)構(gòu) -->
<div id="test-div">
<div class="c-red">
  <p id="test-p">JavaScript</p>
  <p>Java</p>
 </div>
 <div class="c-red c-green">
  <p>Python</p>
  <p>Ruby</p>
  <p>Swift</p>
 </div>
 <div class="c-green">
  <p>Scheme</p>
  <p>Haskell</p>
 </div>
</div>

請(qǐng)選擇出指定條件的節(jié)點(diǎn):

// 選擇<p>JavaScript</p>:
var js = ???;
// 選擇<p>Python</p>,<p>Ruby</p>,<p>Swift</p>:
var arr = ???;
// 選擇<p>Haskell</p>:
var haskell = ???;

相關(guān)文章

  • 詳解Js模塊化的作用原理和方案

    詳解Js模塊化的作用原理和方案

    這篇文章主要介紹了Js模塊化的作用原理和方案,對(duì)JS模塊化感興趣的同學(xué),可以參考下
    2021-04-04
  • 探索webpack模塊及webpack3新特性

    探索webpack模塊及webpack3新特性

    webpack是一個(gè)強(qiáng)大的模塊打包工具,在處理依賴(lài)、模塊上都很優(yōu)秀,本文從bundle.js文件分析出發(fā)去探索了不同模塊方案的加載機(jī)制,初步去理解webpack,并且對(duì)webpack3特性進(jìn)行闡述
    2017-09-09
  • 小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面方法

    小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面方法

    這篇文章主要介紹了小程序掃描普通鏈接二維碼跳轉(zhuǎn)小程序指定界面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 文字垂直滾動(dòng)之javascript代碼

    文字垂直滾動(dòng)之javascript代碼

    這篇文章主要應(yīng)用javascript代碼實(shí)現(xiàn)文字垂直滾動(dòng)的效果,需要的朋友可以參考下
    2015-07-07
  • js實(shí)現(xiàn)小窗口拖拽效果

    js實(shí)現(xiàn)小窗口拖拽效果

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)小窗口拖拽效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 所見(jiàn)即所得的富文本編輯器bootstrap-wysiwyg使用方法詳解

    所見(jiàn)即所得的富文本編輯器bootstrap-wysiwyg使用方法詳解

    這篇文章主要為大家分享一款所見(jiàn)即所得的富文本編輯器bootstrap-wysiwyg,并詳細(xì)告訴大家文本編輯器bootstrap-wysiwyg的使用方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • javaScript實(shí)現(xiàn)滾動(dòng)新聞的方法

    javaScript實(shí)現(xiàn)滾動(dòng)新聞的方法

    這篇文章主要介紹了javaScript實(shí)現(xiàn)滾動(dòng)新聞的方法,涉及javascript實(shí)現(xiàn)頁(yè)面滾動(dòng)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 小程序展示彈窗常見(jiàn)API實(shí)例詳解

    小程序展示彈窗常見(jiàn)API實(shí)例詳解

    彈窗對(duì)我們大家來(lái)說(shuō)應(yīng)該都不陌生,這篇文章主要給大家介紹了關(guān)于小程序展示彈窗常見(jiàn)API的相關(guān)資料,主要包括showToast,?showModal,showLoading和showActionSheet,需要的朋友可以參考下
    2022-09-09
  • javascript實(shí)現(xiàn)仿銀行密碼輸入框效果的代碼

    javascript實(shí)現(xiàn)仿銀行密碼輸入框效果的代碼

    這篇文章通過(guò)實(shí)例代碼給大家介紹了javascript實(shí)現(xiàn)仿銀行密碼輸入框效果,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2007-12-12
  • JS如何實(shí)現(xiàn)手機(jī)端輸入驗(yàn)證碼效果

    JS如何實(shí)現(xiàn)手機(jī)端輸入驗(yàn)證碼效果

    這篇文章主要介紹了JS如何實(shí)現(xiàn)手機(jī)端輸入驗(yàn)證碼效果,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評(píng)論

奉贤区| 扬州市| 新安县| 新津县| 临安市| 永德县| 延长县| 新乡市| 湾仔区| 临江市| 浠水县| 根河市| 阿荣旗| 林周县| 宜川县| 鄯善县| 开原市| 瑞丽市| 丽江市| 大同市| 邵东县| 左权县| 宜阳县| 泊头市| 吉安市| 元氏县| 达日县| 会宁县| 女性| 闸北区| 汝阳县| 长阳| 石泉县| 石家庄市| 商洛市| 神木县| 广灵县| 梅河口市| 鹤岗市| 辽宁省| 宁津县|