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

JavaScript之DOM_動力節(jié)點Java學院整理

 更新時間:2017年07月03日 10:24:53   作者:liaoxuefeng  
由于HTML文檔被瀏覽器解析后就是一棵DOM樹,要改變HTML的結構,就需要通過JavaScript來操作DOM。始終記住DOM是一個樹形結構。

由于HTML文檔被瀏覽器解析后就是一棵DOM樹,要改變HTML的結構,就需要通過JavaScript來操作DOM。
始終記住DOM是一個樹形結構。操作一個DOM節(jié)點實際上就是這么幾個操作:

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

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

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

document.getElementsByTagName()document.getElementsByClassName()總是返回一組DOM節(jié)點。要精確地選擇DOM,可以先定位父節(jié)點,再從父節(jié)點開始選擇,以縮小范圍。

例如:

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

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

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

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

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

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

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

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

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

嚴格地講,我們這里的DOM節(jié)點是指Element,但是DOM節(jié)點實際上是Node,在HTML中,Node包括Element、Comment、CDATA_SECTION等很多種,以及根節(jié)點Document類型,但是,絕大多數時候我們只關心Element,也就是實際控制頁面結構的Node,其他類型的Node忽略即可。根節(jié)點Document已經自動綁定為全局變量document。

練習

如下的HTML結構:

JavaScript
Java
Python
Ruby
Swift
Scheme
Haskell

<!-- HTML結構 -->
<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>

請選擇出指定條件的節(jié)點:

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

相關文章

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

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

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

    探索webpack模塊及webpack3新特性

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

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

    這篇文章主要介紹了小程序掃描普通鏈接二維碼跳轉小程序指定界面,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • 文字垂直滾動之javascript代碼

    文字垂直滾動之javascript代碼

    這篇文章主要應用javascript代碼實現文字垂直滾動的效果,需要的朋友可以參考下
    2015-07-07
  • js實現小窗口拖拽效果

    js實現小窗口拖拽效果

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

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

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

    javaScript實現滾動新聞的方法

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

    小程序展示彈窗常見API實例詳解

    彈窗對我們大家來說應該都不陌生,這篇文章主要給大家介紹了關于小程序展示彈窗常見API的相關資料,主要包括showToast,?showModal,showLoading和showActionSheet,需要的朋友可以參考下
    2022-09-09
  • javascript實現仿銀行密碼輸入框效果的代碼

    javascript實現仿銀行密碼輸入框效果的代碼

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

    JS如何實現手機端輸入驗證碼效果

    這篇文章主要介紹了JS如何實現手機端輸入驗證碼效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05

最新評論

临潭县| 台中县| 安仁县| 禄劝| 花莲市| 大邑县| 乳山市| 阳高县| 抚顺县| 云林县| 双城市| 禹州市| 巴彦淖尔市| 恭城| 仙游县| 黎平县| 大埔区| 武乡县| 十堰市| 长武县| 大足县| 应用必备| 建德市| 平凉市| 昌平区| 祁阳县| 万宁市| 闵行区| 伊川县| 闽清县| 施甸县| 禹城市| 聊城市| 仪陇县| 五指山市| 诸暨市| 四子王旗| 新密市| 遂宁市| 陵水| 太仆寺旗|