国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

通過css類/選擇器選取元素 文檔結構和遍歷 元素樹的文檔

Elle / 671人閱讀

摘要:派生類包含基類的所有成員,還包括自身的特有成員,由于繼承關系的存在,派生類和派生類對象訪問基類中的成員就像訪問自己的成員一樣。可以直接使用,但是派生類,仍舊無法訪問基類中的私有成員。

通過css類選取元素

html所有的元素擁有class屬性,該屬性會對元素進行分組,標識為某一組。
js中使用className屬性來保存HTML的class的屬性值

var NodeList = document.getElementById("first")
close.log(NodeList.class)

盡管如此,js還定義了一個方法,即一個getElementsByClassName(),是基于class屬性值中的標識符來選取成組的文檔元素
還有一個類似的getElementsByTagName()的方法也是獲取一個組,返回的是一組的內容即NodeList。返回的是類數組。
一個使用getElementsByClassName()的例子

// 查找其class屬性值中包含warning的所有元素
var warnings = document.getElementsByClassName("warning");
// 查找以log命名并且含有error和fatal類的元素的所有后代
var log = document.getElementById("log");
var fatal = log.getElementByClassName("fatal error");     // 先獲取id為log,在獲取class為fatal error的元素
一個兼容,瀏覽器根據!doctype來進行選擇怪異模式,和標準模式的,怪異模式是為了向后兼容而存在的,標準模式不是(兼容以及不太重要了,但是還要知道一點,這是ie8的問題,但愿再過幾年直接win7也沒有了)
通過css選擇器選擇元素

css樣式表可以進行選擇,這里僅僅是一些常見的css選擇器

#nav // id = nav 的元素
div // 選擇div元素
.warning // 選擇class屬性為waring的元素

// 基于屬性值選取元素
p[lang="fr"]    // 所有語言為fr的元素
*[name="x"]    // 所有包含name="x"的屬性的元素

// 將選擇器進行組合使用
span.fatal.error     // 選擇class中包含fatal和error的span元素
span[lang="fr"].warning // 所有使用法語,并且class中包含warning的span元素

// 選擇器指定文檔結構
#log span     // id 為log元素的后代元素中的所有的span元素
#log > span // id 為log元素的子元素中所有的span元素
body>h1:first-child // 的子元素中的第一個

元素 // 選擇器組合選擇多個或者組合元素 div, #log // 所有的div元素,以及id為log的元素屬于和關系 // 正則選擇器 a[src^="https"] // 選擇src屬性為https開頭的 a[src$=".pdf"] // 匹配src屬性為.pdf結尾的元素 a[src*="ming"] // 匹配src中包含ming的元素

h5定義了一些選擇api用來通過js來選擇元素

document.querySelector("title")

選擇title元素

document.querySelectorAll("title")

會返回一個類數組的 節點列表

document.querySelector(":first-line")

選擇一個偽元素,在css中匹配了節點一部分,而不是實際元素。
其中querySelector只會返回匹配的第一個結果,querySelectorAll將會返回全部結果,返回一個類數組。

document.querySelector(":link")

返回一個頁面上未訪問的連接

document.querySelectorAll(":visited")

選擇一個已經訪問過的,用來獲取用戶在該頁面的一部分的歷史記錄

document.all[]

已經廢棄,不在使用,所以不學習

文檔結構和遍歷

一旦從文檔中選取了一個元素,將會需要查找文檔與之在結構上相關的部分,(即,父元素,子元素,兄弟元素)。溫帶在概念上為節點對象樹。瀏覽器定義了一個api將會對元素對象樹進行遍歷

作為節點樹的文檔

Document對象,以及Element對象和文檔中表示文本的Text對象都為Node對象,Node對象定義了一下重要的屬性。

parentNode

獲取該節點的父節點

childNode

只讀類型數組對象(NodeList對象),它是該節點的子節點的實時表示

firstChild, lastChild

該節點的子節點中的第一個和最后一個

nextSibling,previousSibling

該節點的兄弟節點中的前一個和下一個

nodeType

該節點的類型

一些類 繼承(基類,父類,超類),派生類,子類
這里以c++為栗子 :基類,父類,超類,指被繼承的類,派生類,子類指繼承于基類的類,在C++中冒號表示繼承,入classA:public:B 表示派生類A從基類B繼承而來。派生類包含基類的所有成員,還包括自身的特有成員,由于繼承關系的存在,派生類和派生類對象訪問基類中的成員就像訪問自己的成員一樣。可以直接使用,但是派生類,仍舊無法訪問基類中的私有成員。C++派生類可以同時從多個基類繼承,java不允許多重繼承,當繼承多個基類的時候,使用,運算符將基類進行分開。
Element

Element是一個通用的基類,所有的Document都繼承自Element
例如

屬于一個由Element基類繼承的Document的一個節點

text節點

文字內容,即匿名文字所成的節點。

Comment節點

屬于注釋的節點

Document 節點

一個已經加載好的網頁,并通過入口來操作網頁的內容

DocumentType節點

一個聲明節點

DocumentFragment 節點

表示一個沒有父級文件的最小文檔對象。它被當做一個輕量版的 Document 使用

nodeValue

text節點或者Comment節點文本內容

nodeName

元素的標簽名,以大寫輸出

一個栗子



    


hello word

控制臺輸入

document.childNodes[1].childNodes[2].childNode[0]

返回

#text

表示

之前的導致換行符

該html


hello word

繼續重新加載,重新輸入

document.childNodes[1].childNodes[1]
#text

繼續去掉唯一的換行符

hello word

繼續在控制臺輸入

document.childNodes[1].childNodes[1]
?…??

返回body
說明是換行符的問題導致
https://stackoverflow.com/que...
https://stackoverflow.com/que...

作為元素樹的文檔

將文檔看成Element對象樹,忽視部分文檔,text和comment文檔(回車,空格,以及注釋節點)

Element的children屬性

第一部分是Element(通用基類)的children屬性,類似于childNodes屬于一個NodeList對象,不同的是children列表只包含Element對象,text和Comment節點沒有children屬性,任何的Element的parentNode(父節點)都是另一個Element,或者是樹根的Document節點

Element的屬性

firstElementChild,lastElementChild
類似firstChild和lastChild,只代表子Element
nextElementSibling,previousElementSibling
類似的nextSibling和previousSibling 代表兄弟節點
childElementCount
子元素的數量,和children。length的值相等

博客

www.iming.info

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/96622.html

相關文章

  • 前端入門3-CSS基礎

    摘要:表示的是滿足第一個選擇器的前提下,從它匹配到的元素后,去尋找位于同一層級,且在該元素后面的所有滿足第二個選擇器的元素。 本篇文章已授權微信公眾號 dasu_Android(大蘇)獨家發布 聲明 本系列文章內容全部梳理自以下四個來源: 《HTML5權威指南》 《JavaScript權威指南》 MDN web docs Github:smyhvae/web 作為一個前端小白,入門跟著這四個...

    JackJiang 評論0 收藏0
  • jQuery筆記總結篇

    摘要:希望在做所有事情之前,操作文檔。不受層級限制子選擇器在給定的父元素下匹配所有子元素。相鄰選擇器匹配所有緊接在元素后的元素。判斷當前對象中的某個元素是否包含指定類名,包含返回,不包含返回下標過濾器精確選出指定下標元素獲取第個元素。 原文鏈接 http://blog.poetries.top/2016... 首先,來了解一下jQuery學習的整體思路 showImg(https://seg...

    NoraXie 評論0 收藏0
  • JavaScript工作原理(十):渲染引擎優化性能的技巧

    摘要:渲染引擎的概述渲染引擎的主要職責是在瀏覽器屏幕上顯示請求的頁面。中,渲染樹中的每個節點都被稱為的渲染器或渲染對象。坐標系相對于根渲染器。增量只有一些渲染器以不影響整個樹的方式進行更改。渲染器使其矩形在屏幕上無效。 到目前為止,在我們之前的JavaScript工作原理系列文章中,我們一直關注JavaScript作為一種語言,其功能,它如何在瀏覽器中執行,如何優化等等。 但是,當您構建We...

    xingqiba 評論0 收藏0
  • 瀏覽渲染頁面過程與頁面優化

    摘要:由一道面試題引發的思考從用戶輸入瀏覽器輸入到頁面最后呈現有哪些過程一道很常規的題目,考的是基本網絡原理,和瀏覽器加載,過程。所以抽出時間研究下瀏覽器渲染頁面的過程。 由一道面試題引發的思考: 從用戶輸入瀏覽器輸入url到頁面最后呈現 有哪些過程?一道很常規的題目,考的是基本網絡原理,和瀏覽器加載css,js過程。 答案大致如下: 用戶輸入URL地址 瀏覽器解析URL解析出主機名 瀏覽...

    djfml 評論0 收藏0
  • JavaScript是如何工作的:渲染引擎優化其性能的技巧

    摘要:渲染樹的布局創建渲染器并將其添加到樹中時,它沒有位置和大小,計算這些值稱為布局。根渲染器的位置為,其尺寸與瀏覽器窗口的可見部分即的大小相同。渲染器使其在屏幕上的矩形無效,這會導致操作系統將其視為需要重新繪制并生成繪事件的區域。 這是專門探索 JavaScript 及其所構建的組件的系列文章的第11篇。 想閱讀更多優質文章請猛戳GitHub博客,一年百來篇優質文章等著你! 如果你錯過了前...

    big_cat 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<