整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢(xún)熱線:

          認(rèn)識(shí)HTML

          認(rèn)識(shí)HTML

          TML俗稱(chēng)“超文本標(biāo)記語(yǔ)言”

          HTML的頁(yè)面也就是我們常說(shuō)的網(wǎng)頁(yè)是一種特殊的文件,它的擴(kuò)展名是點(diǎn)htm或者點(diǎn)HTML,默認(rèn)使用瀏覽器打開(kāi),在瀏覽器中,不能直接編輯HTML

          HTML,主要負(fù)責(zé)內(nèi)容;CSS主要負(fù)責(zé)樣式;js主要負(fù)責(zé)特效

          局和腳部是 HTML 頁(yè)面中兩個(gè)重要的區(qū)域。布局區(qū)域用于組織頁(yè)面上的內(nèi)容,而腳部區(qū)域通常包含與頁(yè)面內(nèi)容無(wú)關(guān)但重要的信息。


          布局區(qū)域

          布局區(qū)域用于將頁(yè)面上的內(nèi)容分組和排列。最常用的布局區(qū)域是:

          • 主內(nèi)容區(qū):包含頁(yè)面上的主要內(nèi)容。
          • 側(cè)欄:包含與頁(yè)面內(nèi)容相關(guān)的額外信息,例如導(dǎo)航菜單或側(cè)邊欄。
          • 腳部:包含與頁(yè)面內(nèi)容無(wú)關(guān)但重要的信息,例如版權(quán)信息或聯(lián)系方法。

          腳部區(qū)域

          腳部區(qū)域通常包含以下內(nèi)容:

          • 版權(quán)信息:表明頁(yè)面的所有權(quán)歸于特定個(gè)人或組織。
          • 聯(lián)系方式:提供與發(fā)送電子郵件或訪問(wèn)其他網(wǎng)站的鏈接。
          • 社交媒體鏈接:提供與頁(yè)面或組織的社交媒體帳號(hào)。

          布局和腳部的組合

          布局區(qū)域可以包含腳部區(qū)域。例如,以下代碼展示了如何將腳部區(qū)域包含在布局區(qū)域內(nèi):

          html
          <!DOCTYPE html>
          <html>
          <head>
            <!-- ... -->
          </head>
          <body>
            <div id="layout">
              <!-- ... -->
              <footer>
                <p>? 20 vicisslet 20 vicisslet</p>
                <p>聯(lián)系:...</p>
                <p>社交媒體:...</p>
              </footer>
            </div>
          </body>
          </html>
          

          最佳實(shí)踐

          • 使用合適的布局區(qū)域來(lái)組織頁(yè)面內(nèi)容。
          • 在腳部區(qū)域中提供與頁(yè)面內(nèi)容無(wú)關(guān)但重要的信息。
          • 保持腳部區(qū)域簡(jiǎn)短且易于瀏覽。

          結(jié)論

          布局和腳部是 HTML 頁(yè)面中兩個(gè)重要的區(qū)域。通過(guò)了解布局和腳部區(qū)域的用法,您可以創(chuàng)建擁有清晰結(jié)構(gòu)和良好閱讀體驗(yàn)的頁(yè)面。

          瀏覽器訪問(wèn)網(wǎng)站時(shí),頁(yè)面各不相同,你有沒(méi)有想過(guò)它為何會(huì)呈現(xiàn)這個(gè)樣子呢?本節(jié)中,我們就來(lái)了解一下網(wǎng)頁(yè)的組成、結(jié)構(gòu)和節(jié)點(diǎn)等內(nèi)容。

          網(wǎng)頁(yè)的組成

          網(wǎng)頁(yè)可以分為三大部分 —— HTML、CSS 和 JavaScript。如果把網(wǎng)頁(yè)比作一個(gè)人的話,HTML 相當(dāng)于骨架,JavaScript 相當(dāng)于肌肉,CSS 相當(dāng)于皮膚,三者結(jié)合起來(lái)才能形成一個(gè)完善的網(wǎng)頁(yè)。下面我們分別來(lái)介紹一下這三部分的功能。

          (1)HTML

          HTML,其英文叫做 HyperText Markup Language,中文翻譯叫做超文本標(biāo)記語(yǔ)言,但我們通常不會(huì)用中文翻譯來(lái)稱(chēng)呼它,一般就叫 HTML。

          HTML 是用來(lái)描述網(wǎng)頁(yè)的一種語(yǔ)言,網(wǎng)頁(yè)包括文字、按鈕、圖片和視頻等各種復(fù)雜的元素,其基礎(chǔ)架構(gòu)就是 HTML。不同類(lèi)型的元素通過(guò)不同類(lèi)型的標(biāo)簽來(lái)表示,如圖片用 img 標(biāo)簽表示,視頻用 video 標(biāo)簽表示,段落用 p 標(biāo)簽表示,它們之間的布局又常通過(guò)布局標(biāo)簽 div 嵌套組合而成,各種標(biāo)簽通過(guò)不同的排列和嵌套才形成了網(wǎng)頁(yè)的框架。

          那 HTML 長(zhǎng)什么樣子呢?我們可以隨意打開(kāi)一個(gè)網(wǎng)站,比如淘寶 https://www.taobao.com,然后右鍵菜單點(diǎn)擊“檢查元素”或者按 F12 快捷鍵,即可打開(kāi)瀏覽器開(kāi)發(fā)者工具,切換到 Elements 面板,這時(shí)候就可以看到這里呈現(xiàn)的就是淘寶網(wǎng)對(duì)應(yīng)的 HTML,它包含了一系列標(biāo)簽,瀏覽器解析這些標(biāo)簽后,便會(huì)在網(wǎng)頁(yè)中渲染成一個(gè)個(gè)的節(jié)點(diǎn),這便形成了我們平常看到的網(wǎng)頁(yè)。比如這里可以看到一個(gè)輸入框就對(duì)應(yīng)一個(gè) input 標(biāo)簽,可以用于輸入文字。

          不同的標(biāo)簽對(duì)應(yīng)著不同的功能,這些標(biāo)簽定義的節(jié)點(diǎn)相互嵌套和組合形成了復(fù)雜的層次關(guān)系,就形成了網(wǎng)頁(yè)的架構(gòu)。

          (2)CSS

          HTML 定義了網(wǎng)頁(yè)的結(jié)構(gòu),但是只有 HTML 頁(yè)面的布局并不美觀,可能只是簡(jiǎn)單的節(jié)點(diǎn)元素的排列。為了讓網(wǎng)頁(yè)看起來(lái)更好看一些,這里借助了 CSS。

          CSS,全稱(chēng)叫作 Cascading Style Sheets,即層疊樣式表。“層疊” 是指當(dāng)在 HTML 中引用了數(shù)個(gè)樣式文件,并且樣式發(fā)生沖突時(shí),瀏覽器能依據(jù)層疊順序處理。“樣式” 指網(wǎng)頁(yè)中文字大小、顏色、元素間距、排列等格式。CSS 是目前唯一的網(wǎng)頁(yè)頁(yè)面排版樣式標(biāo)準(zhǔn),有了它的幫助,頁(yè)面才會(huì)變得更為美觀。

          在上圖中,Styles 面板呈現(xiàn)的就是一系列 CSS 樣式,比如摘抄一段 CSS,內(nèi)容如下:

          #head_wrapper.s-ps-islite .s-p-top {
            position: absolute;
            bottom: 40px;
            width: 100%;
            height: 181px;
          }

          這就是一個(gè) CSS 樣式。大括號(hào)前面是一個(gè) CSS 選擇器。此選擇器的意思是首先選中 id 為 head_wrapper 且 class 為 s-ps-islite 的節(jié)點(diǎn),然后再選中其內(nèi)部的 class 為 s-p-top 的節(jié)點(diǎn)。大括號(hào)內(nèi)部寫(xiě)的就是一條條樣式規(guī)則,例如 position 指定了這個(gè)節(jié)點(diǎn)的布局方式為絕對(duì)布局,bottom 指定節(jié)點(diǎn)的下邊距為 40 像素,width 指定了寬度為 100%,表示占滿(mǎn)父節(jié)點(diǎn),height 則指定了節(jié)點(diǎn)的高度。也就是說(shuō),我們將位置、寬度、高度等樣式配置統(tǒng)一寫(xiě)成這樣的形式,然后用大括號(hào)括起來(lái),接著在開(kāi)頭再加上 CSS 選擇器,這就代表這個(gè)樣式對(duì) CSS 選擇器選中的節(jié)點(diǎn)生效,節(jié)點(diǎn)就會(huì)根據(jù)此樣式來(lái)展示了。

          在網(wǎng)頁(yè)中,一般會(huì)統(tǒng)一定義整個(gè)網(wǎng)頁(yè)的樣式規(guī)則,并寫(xiě)入 CSS 文件中(其后綴為 css)。在 HTML 中,只需要用 link 標(biāo)簽即可引入寫(xiě)好的 CSS 文件,這樣整個(gè)頁(yè)面就會(huì)變得美觀、優(yōu)雅。

          (3)JavaScript

          JavaScript,簡(jiǎn)稱(chēng) JS,是一種腳本語(yǔ)言。HTML 和 CSS 配合使用,提供給用戶(hù)的只是一種靜態(tài)信息,缺乏交互性。我們?cè)诰W(wǎng)頁(yè)里可能會(huì)看到一些交互和動(dòng)畫(huà)效果,如下載進(jìn)度條、提示框、輪播圖等,這通常就是 JavaScript 的功勞。它的出現(xiàn)使得用戶(hù)與信息之間不只是一種瀏覽與顯示的關(guān)系,而是實(shí)現(xiàn)了一種實(shí)時(shí)、動(dòng)態(tài)、交互的頁(yè)面功能。

          JavaScript 通常也是以單獨(dú)的文件形式加載的,后綴為 js,在 HTML 中通過(guò) script 標(biāo)簽即可引入,例如:

          <script src="jquery-2.1.0.js"></script>

          綜上所述,HTML 定義了網(wǎng)頁(yè)的內(nèi)容和結(jié)構(gòu),CSS 描述了網(wǎng)頁(yè)的樣式,JavaScript 定義了網(wǎng)頁(yè)的行為。

          2. 網(wǎng)頁(yè)的結(jié)構(gòu)

          我們首先用例子來(lái)感受一下 HTML 的基本結(jié)構(gòu)。新建一個(gè)文本文件,名稱(chēng)叫做 test.html,內(nèi)容如下:

          <!DOCTYPE html>
          <html>
            <head>
              <meta charset="UTF-8" />
              <title>This is a Demo</title>
            </head>
            <body>
              <div id="container">
                <div class="wrapper">
                  <h2 class="title">Hello World</h2>
                  <p class="text">Hello, this is a paragraph.</p>
                </div>
              </div>
            </body>
          </html>

          這就是一個(gè)最簡(jiǎn)單的 HTML 實(shí)例。開(kāi)頭用 DOCTYPE 定義了文檔類(lèi)型,其次最外層是 html 標(biāo)簽,最后還有對(duì)應(yīng)的結(jié)束標(biāo)簽來(lái)表示閉合,其內(nèi)部是 head 標(biāo)簽和 body 標(biāo)簽,分別代表網(wǎng)頁(yè)頭和網(wǎng)頁(yè)體,它們也需要結(jié)束標(biāo)簽。head 標(biāo)簽內(nèi)定義了一些頁(yè)面的配置和引用,如:

          <meta charset="UTF-8" />

          它指定了網(wǎng)頁(yè)的編碼為 UTF-8。

          title 標(biāo)簽則定義了網(wǎng)頁(yè)的標(biāo)題,會(huì)顯示在網(wǎng)頁(yè)的選項(xiàng)卡中,不會(huì)顯示在正文中。body 標(biāo)簽內(nèi)則是在網(wǎng)頁(yè)正文中顯示的內(nèi)容。div 標(biāo)簽定義了網(wǎng)頁(yè)中的區(qū)塊,它的 id 是 container,這是一個(gè)非常常用的屬性,且 id 的內(nèi)容在網(wǎng)頁(yè)中是唯一的,我們可以通過(guò)它來(lái)獲取這個(gè)區(qū)塊。然后在此區(qū)塊內(nèi)又有一個(gè) div 標(biāo)簽,它的 class 為 wrapper,這也是一個(gè)非常常用的屬性,經(jīng)常與 CSS 配合使用來(lái)設(shè)定樣式。然后此區(qū)塊內(nèi)部又有一個(gè) h2 標(biāo)簽,這代表一個(gè)二級(jí)標(biāo)題。另外,還有一個(gè) p 標(biāo)簽,這代表一個(gè)段落。在這兩者中直接寫(xiě)入相應(yīng)的內(nèi)容即可在網(wǎng)頁(yè)中呈現(xiàn)出來(lái),它們也有各自的 class 屬性。

          將代碼保存后,雙擊該文件在瀏覽器中打開(kāi),可以看到如圖所示的內(nèi)容。

          可以看到,選項(xiàng)卡上顯示了 This is a Demo 字樣,這是我們?cè)?head 中的 title 里定義的文字。而網(wǎng)頁(yè)正文是 body 標(biāo)簽內(nèi)部定義的各個(gè)元素生成的,可以看到這里顯示了二級(jí)標(biāo)題和段落。

          這個(gè)實(shí)例便是網(wǎng)頁(yè)的一般結(jié)構(gòu)。一個(gè)網(wǎng)頁(yè)的標(biāo)準(zhǔn)形式是 html 標(biāo)簽內(nèi)嵌套 head 和 body 標(biāo)簽,head 內(nèi)定義網(wǎng)頁(yè)的配置和引用,body 內(nèi)定義網(wǎng)頁(yè)的正文。

          3 節(jié)點(diǎn)樹(shù)及節(jié)點(diǎn)間的關(guān)系

          在 HTML 中,所有標(biāo)簽定義的內(nèi)容都是節(jié)點(diǎn),它們構(gòu)成了一個(gè) HTML 節(jié)點(diǎn)樹(shù),也稱(chēng)之為 HTML DOM 樹(shù)。

          我們先看下什么是 DOM。DOM 是 W3C(萬(wàn)維網(wǎng)聯(lián)盟)的標(biāo)準(zhǔn),其英文全稱(chēng) Document Object Model,即文檔對(duì)象模型。它定義了訪問(wèn) HTML 和 XML 文檔的標(biāo)準(zhǔn)。根據(jù) W3C 的 HTML DOM 標(biāo)準(zhǔn),HTML 文檔中的所有內(nèi)容都是節(jié)點(diǎn)。

          • 整個(gè)網(wǎng)站文檔是一個(gè)文檔節(jié)點(diǎn)。
          • 每個(gè) html 標(biāo)簽對(duì)應(yīng)一個(gè)根元素節(jié)點(diǎn),即上例中的 html 標(biāo)簽,這屬于一個(gè)跟元素節(jié)點(diǎn)。
          • 節(jié)點(diǎn)內(nèi)的文本是文本節(jié)點(diǎn),比如 a 節(jié)點(diǎn)代表一個(gè)超鏈接,它內(nèi)部的文本也被認(rèn)為是一個(gè)文本節(jié)點(diǎn)。
          • 每個(gè)節(jié)點(diǎn)的屬性是屬性節(jié)點(diǎn),比如 a 節(jié)點(diǎn)有一個(gè) href 屬性,它就是一個(gè)屬性節(jié)點(diǎn)。
          • 注釋是注釋節(jié)點(diǎn),在 HTML 中有特殊的語(yǔ)法會(huì)被解析為注釋?zhuān)湟矔?huì)對(duì)應(yīng)一個(gè)節(jié)點(diǎn)。

          所以,HTML DOM 將 HTML 文檔視作樹(shù)結(jié)構(gòu),這種結(jié)構(gòu)被稱(chēng)為節(jié)點(diǎn)樹(shù),如圖所示:

          通過(guò) HTML DOM,樹(shù)中的所有節(jié)點(diǎn)均可通過(guò) JavaScript 訪問(wèn),所有 HTML 節(jié)點(diǎn)元素均可被修改,也可以被創(chuàng)建或刪除。

          節(jié)點(diǎn)樹(shù)中的節(jié)點(diǎn)彼此擁有層級(jí)關(guān)系。我們常用父(parent)、子(child)和兄弟(sibling)等術(shù)語(yǔ)描述這些關(guān)系。父節(jié)點(diǎn)擁有子節(jié)點(diǎn),同級(jí)的子節(jié)點(diǎn)被稱(chēng)為兄弟節(jié)點(diǎn)。

          在節(jié)點(diǎn)樹(shù)中,頂端節(jié)點(diǎn)稱(chēng)為根(root)。除了根節(jié)點(diǎn)之外,每個(gè)節(jié)點(diǎn)都有父節(jié)點(diǎn),同時(shí)可擁有任意數(shù)量的子節(jié)點(diǎn)或兄弟節(jié)點(diǎn)。圖展示了節(jié)點(diǎn)樹(shù)以及節(jié)點(diǎn)之間的關(guān)系。

          4. 選擇器

          我們知道網(wǎng)頁(yè)由一個(gè)個(gè)節(jié)點(diǎn)組成,CSS 選擇器會(huì)根據(jù)不同的節(jié)點(diǎn)設(shè)置不同的樣式規(guī)則,那么怎樣來(lái)定位節(jié)點(diǎn)呢?

          在 CSS 中,我們使用 CSS 選擇器來(lái)定位節(jié)點(diǎn)。例如,上例中 div 節(jié)點(diǎn)的 id 為 container,那么就可以表示為 #container,其中 # 開(kāi)頭代表選擇 id,其后緊跟 id 的名稱(chēng)。另外,如果我們想選擇 class 為 wrapper 的節(jié)點(diǎn),便可以使用.wrapper,這里以點(diǎn)(.)開(kāi)頭代表選擇 class,其后緊跟 class 的名稱(chēng)。另外,還有一種選擇方式,那就是根據(jù)標(biāo)簽名篩選,例如想選擇二級(jí)標(biāo)題,直接用 h2 即可。這是最常用的 3 種表示,分別是根據(jù) id、class、標(biāo)簽名篩選,請(qǐng)牢記它們的寫(xiě)法。

          另外,CSS 選擇器還支持嵌套選擇,各個(gè)選擇器之間加上空格分隔開(kāi)便可以代表嵌套關(guān)系,如 #container .wrapper p 則代表先選擇 id 為 container 的節(jié)點(diǎn),然后選中其內(nèi)部的 class 為 wrapper 的節(jié)點(diǎn),然后再進(jìn)一步選中其內(nèi)部的 p 節(jié)點(diǎn)。另外,如果不加空格,則代表并列關(guān)系,如 div#container .wrapper p.text 代表先選擇 id 為 container 的 div 節(jié)點(diǎn),然后選中其內(nèi)部的 class 為 wrapper 的節(jié)點(diǎn),再進(jìn)一步選中其內(nèi)部的 class 為 text 的 p 節(jié)點(diǎn)。這就是 CSS 選擇器,其篩選功能還是非常強(qiáng)大的。

          我們可以在瀏覽器中測(cè)試 CSS 選擇器的效果,依然還是打開(kāi)瀏覽器的開(kāi)發(fā)者工具,然后按快捷鍵 Ctrl + F(如果你用的是 Mac,則是 Command + F),這時(shí)候在左下角便會(huì)出現(xiàn)一個(gè)搜索框,如圖所示。

          這時(shí)候我們輸入 .title 就是選中了 class 為 title 的節(jié)點(diǎn),這時(shí)候該節(jié)點(diǎn)就會(huì)被選中并在網(wǎng)頁(yè)中高亮顯示,如圖所示:

          輸入 div#container .wrapper p.text 就逐層選中了 id 為 container 中 class 為 wrapper 節(jié)點(diǎn)中的 p 節(jié)點(diǎn),如圖所示:

          另外,CSS 選擇器還有一些其他語(yǔ)法規(guī)則,具體如下表所示。

          CSS 選擇器的其他語(yǔ)法規(guī)則

          選 擇 器

          例 子

          例子描述

          .class

          .intro

          選擇 class="intro" 的所有節(jié)點(diǎn)

          #id

          #firstname

          選擇 id="firstname" 的所有節(jié)點(diǎn)

          *

          *

          選擇所有節(jié)點(diǎn)

          element

          p

          選擇所有 p 節(jié)點(diǎn)

          element,element

          div,p

          選擇所有 div 節(jié)點(diǎn)和所有 p 節(jié)點(diǎn)

          element element

          div p

          選擇 div 節(jié)點(diǎn)內(nèi)部的所有 p 節(jié)點(diǎn)

          element>element

          div>p

          選擇父節(jié)點(diǎn)為 div 節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)

          element+element

          div+p

          選擇緊接在 div 節(jié)點(diǎn)之后的所有 p 節(jié)點(diǎn)

          [attribute]

          [target]

          選擇帶有 target 屬性的所有節(jié)點(diǎn)

          [attribute=value]

          [target=blank]

          選擇 target="blank" 的所有節(jié)點(diǎn)

          [attribute~=value]

          [title~=flower]

          選擇 title 屬性包含單詞 flower 的所有節(jié)點(diǎn)

          :link

          a:link

          選擇所有未被訪問(wèn)的鏈接

          :visited

          a:visited

          選擇所有已被訪問(wèn)的鏈接

          :active

          a:active

          選擇活動(dòng)鏈接

          :hover

          a:hover

          選擇鼠標(biāo)指針位于其上的鏈接

          :focus

          input:focus

          選擇獲得焦點(diǎn)的 input 節(jié)點(diǎn)

          :first-letter

          p:first-letter

          選擇每個(gè) p 節(jié)點(diǎn)的首字母

          :first-line

          p:first-line

          選擇每個(gè) p 節(jié)點(diǎn)的首行

          :first-child

          p:first-child

          選擇屬于父節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)

          :before

          p:before

          在每個(gè) p 節(jié)點(diǎn)的內(nèi)容之前插入內(nèi)容

          :after

          p:after

          在每個(gè) p 節(jié)點(diǎn)的內(nèi)容之后插入內(nèi)容

          :lang(language)

          p:lang

          選擇帶有以 it 開(kāi)頭的 lang 屬性值的所有 p 節(jié)點(diǎn)

          element1~element2

          p~ul

          選擇前面有 p 節(jié)點(diǎn)的所有 ul 節(jié)點(diǎn)

          [attribute^=value]

          a[src^="https"]

          選擇其 src 屬性值以 https 開(kāi)頭的所有 a 節(jié)點(diǎn)

          [attribute$=value]

          a[src$=".pdf"]

          選擇其 src 屬性以 .pdf 結(jié)尾的所有 a 節(jié)點(diǎn)

          [attribute*=value]

          a[src*="abc"]

          選擇其 src 屬性中包含 abc 子串的所有 a 節(jié)點(diǎn)

          :first-of-type

          p:first-of-type

          選擇屬于其父節(jié)點(diǎn)的首個(gè) p 節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)

          :last-of-type

          p:last-of-type

          選擇屬于其父節(jié)點(diǎn)的最后一個(gè) p 節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)

          :only-of-type

          p:only-of-type

          選擇屬于其父節(jié)點(diǎn)唯一的 p 節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)

          :only-child

          p:only-child

          選擇屬于其父節(jié)點(diǎn)的唯一子節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)

          :nth-child(n)

          p:nth-child

          選擇屬于其父節(jié)點(diǎn)的第二個(gè)子節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)

          :nth-last-child(n)

          p:nth-last-child

          同上,從最后一個(gè)子節(jié)點(diǎn)開(kāi)始計(jì)數(shù)

          :nth-of-type(n)

          p:nth-of-type

          選擇屬于其父節(jié)點(diǎn)第二個(gè) p 節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)

          :nth-last-of-type(n)

          p:nth-last-of-type

          同上,但是從最后一個(gè)子節(jié)點(diǎn)開(kāi)始計(jì)數(shù)

          :last-child

          p:last-child

          選擇屬于其父節(jié)點(diǎn)最后一個(gè)子節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)

          :root

          :root

          選擇文檔的根節(jié)點(diǎn)

          :empty

          p:empty

          選擇沒(méi)有子節(jié)點(diǎn)的所有 p 節(jié)點(diǎn)(包括文本節(jié)點(diǎn))

          :target

          #news:target

          選擇當(dāng)前活動(dòng)的 #news 節(jié)點(diǎn)

          :enabled

          input:enabled

          選擇每個(gè)啟用的 input 節(jié)點(diǎn)

          :disabled

          input:disabled

          選擇每個(gè)禁用的 input 節(jié)點(diǎn)

          :checked

          input:checked

          選擇每個(gè)被選中的 input 節(jié)點(diǎn)

          :not(selector)

          :not

          選擇非 p 節(jié)點(diǎn)的所有節(jié)點(diǎn)

          ::selection

          ::selection

          選擇被用戶(hù)選取的節(jié)點(diǎn)部分

          另外,還有一種比較常用的選擇器 XPath,這種選擇方式后面會(huì)詳細(xì)介紹。

          5. 總結(jié)

          本節(jié)介紹了網(wǎng)頁(yè)的結(jié)構(gòu)和節(jié)點(diǎn)間的關(guān)系,了解了這些內(nèi)容,我們才有更加清晰的思路去解析和提取網(wǎng)頁(yè)內(nèi)容。

          本節(jié)參考來(lái)源:

          • 文檔 - HTML - MDN Web Docs:https://developer.mozilla.org/en-US/docs/Web/HTML
          • 文檔 - JavaScript - MDN Web Docs:https://developer.mozilla.org/en-US/docs/Web/JavaScript
          • 文檔 - HTML DOM 節(jié)點(diǎn) - W3School:http://www.w3school.com.cn/htmldom/dom_nodes.asp
          • 文檔 - HTML - 維基百科:https://en.wikipedia.org/wiki/HTML
          • 文檔 - CSS Selector - W3School:https://www.w3schools.com/cssref/css_selectors.asp

          主站蜘蛛池模板: 少妇无码一区二区二三区| 乱色精品无码一区二区国产盗| 久久99国产精一区二区三区| 国产福利一区二区三区| 午夜视频久久久久一区| 无码中文字幕乱码一区| 国模无码视频一区二区三区| 无码国产精品一区二区免费16 | 在线播放国产一区二区三区 | 国产精品538一区二区在线| 精品无码av一区二区三区| 亚洲AV无码一区二区三区在线观看 | 国产丝袜视频一区二区三区| 色视频综合无码一区二区三区| 精品一区精品二区制服 | 国产av夜夜欢一区二区三区| 欧美日本精品一区二区三区| 亚洲av无码不卡一区二区三区 | 国产av成人一区二区三区| 动漫精品专区一区二区三区不卡| 国产日韩精品一区二区三区 | bt7086福利一区国产| 免费萌白酱国产一区二区三区 | 日韩一区二区三区在线精品| 日韩在线一区二区三区视频| 无码人妻精品一区二区三区99仓本| 色噜噜AV亚洲色一区二区| 中文人妻av高清一区二区| 一区二区三区国产| 无码国产精品一区二区免费3p| 无码国产精品一区二区免费vr| 精品福利视频一区二区三区 | 国产激情一区二区三区成人91| 日本免费一区尤物| 一级毛片完整版免费播放一区| 久久久国产一区二区三区| 日韩精品人妻一区二区中文八零| 精品一区狼人国产在线| 亚洲人AV永久一区二区三区久久| 三上悠亚国产精品一区| 亚洲狠狠狠一区二区三区|