JavaScript DOM編程藝術(第2版)學習筆記1(1~4章)

来源:https://www.cnblogs.com/yiyicheng/archive/2018/02/21/8457655.html
-Advertisement-
Play Games

第一章 一些基本概念 HTML(超文本標記語言),構建網頁的靜態結構,由一系列的DOM組成; CSS(層疊樣式表),給網頁各部分結構添加樣式; JavaScript,通過獲取DOM給靜態結構加上動作,使用戶能夠與靜態網頁進行交互; DOM,一種API(應用程式介面),通過這個介面動態的訪問和修改結構 ...


第一章 一些基本概念

HTML(超文本標記語言),構建網頁的靜態結構,由一系列的DOM組成;

CSS(層疊樣式表),給網頁各部分結構添加樣式;

JavaScript,通過獲取DOM給靜態結構加上動作,使用戶能夠與靜態網頁進行交互;

DOM,一種API(應用程式介面),通過這個介面動態的訪問和修改結構或樣式。

瀏覽器內核,即渲染引擎(rendering engine),造成不同瀏覽器之間存在相容問題。渲染引擎負責對html和js文檔進行解釋並決定瀏覽器如何顯示網頁內容及樣式。目前常用的幾種瀏覽器引擎,Safari&chrome--WebKit,firefox--Gecko,IE--Trident。

第二章 Javascript語法

html的基本結構:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title></title>
</
head> <body></body> </html>

js代碼必須通過html實現,有兩種方法:

1,把代碼放在head中的script標簽內

2,把代碼單獨存為js文件,在script標簽中引用js文件路徑,script標簽可以放在head或body中,放在body中效率更高

由於之前學過廖雪峰的JavaScript基礎教程,本書的第二章只是簡單的回顧。

第三、四章 操作DOM的方法和屬性

1,節點分為三種,元素節點,文本節點,屬性節點,文本節點和屬性節點包含在元素節點中

2,css負責給各元素添加樣式,為了精準的定位到唯一的元素,給元素添加class屬性或id屬性。

class屬性可以應用到多個元素上,css中用 .class名 給一類元素添加樣式;

id屬性只能應用到唯一元素上,css中用 #id名 給唯一的元素添加樣式;

3,獲取元素的方法,屬於document對象

getElementById;getElementsByClassName;getElementsByTagName

id對應唯一的元素,所以方法為單數element;class和tag對應多個元素,所以方法為複數elements

使用方法: 

    var test=document.getElementById('id名'); 返回元素節點,每個元素節點都是一個對象,所以返回的數據類型為對象

    tag和class方法可以用for迴圈遍歷一組元素

4,獲取和設置元素的屬性,屬於元素節點對象

獲取屬性getAttribute,一個參數,需要獲取的屬性名。

設置屬性setAttribute,兩個參數,需要修改的屬性名,修改後的值。

註意:1)當屬性不存在時,先創建屬性,再給屬性賦值

           2)通過setAttribute修改屬性值後,在瀏覽器中查看源代碼時仍顯示修改前的值,這是由於DOM的工作模式,先靜態載入頁面結構再動態刷新,動態刷新不影響靜態結構,不在瀏覽器里刷新頁面提高網頁打開的速度

5,一些常用的元素節點對象的屬性

childNodes,獲取某一元素的全部子節點

註意:返回的是數組,但不能用length獲取該節點子元素的個數,因為childNodes返回的不只有元素節點,所有的節點都計算在內

兩種簡化寫法:

firstChild,等價於childNodes[0],第一個元素

lastChild,等價於childNodes[childNodes.length-1],最後一個元素

nodeType,返回數字判斷節點的類型,元素節點1;屬性節點2;文本節點3

nodeValue,獲取節點的值

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在嵌入式應用里,除了最核心的數據處理外,我們還會經常和數據傳輸打交道。在使用傳輸介面傳輸數據時避不可免會遇到一個問題,如果傳輸過程中遇到未知硬體干擾發生bit錯誤怎麼辦? 今天給大家講的就是數據傳輸過程中用於差錯檢測的最簡單的方法,即奇偶校驗法。 ...
  • 使用RH 系Linux,Debian系請酌情參照 安裝ftp所需包 安裝ftp包 安裝vsftpd包 註:配置文件路徑 /etc/vsftpd/ 創建ftp用戶,並付賦權 創建普通用戶(我這裡用戶名為huoher) 設置該用戶只能使用ftp而不能通過ssh或其他協議登錄進來 由於用戶是ftp的,不是 ...
  • 在實際的生產環境中,經常會用到sshkey密鑰認證實行數據分發數據等操作,還可以批量操作內網伺服器,實行免密認證進行推送分發數據。 1、環境查看 分發伺服器 節點伺服器 2、伺服器添加系統賬號 3、生成密鑰對 Generating public/private dsa key pair.Enter ...
  • SSH
    SSH簡介 SSH的主要特性 SSH的組成 SSH處理過程 SSH協議的實現工具 ssh 客戶端 ssh 伺服器 ssh 服務的最佳實踐 要使用預設埠 禁止使用protocol version 1 限制可登錄用戶 設定空閑會話超時時長 利用防火牆設置ssh 訪問策略 僅監聽特定的IP 地址 基於口 ...
  • RT ...
  • 今天linux主機中毒了,把用帝國備份王備份之後,恢復了快照到剛建主機的狀態; 哎,只怪當初沒有勤快的去做快照啊; 重新配置好後; 開始使用帝國備份王; 數據恢復之後,打開文章,提示“附加表值出錯” 百度搜索了一堆解決問題,但是解決不了我的問題,我在打開phpmyadmin,發現資料庫里的表dede ...
  • 數組有三種寫法 1. var arr=new Array(); 2. var arr=[1,2,3] 3. var arr=new Array(); arr[0]=1; 下麵我解釋如下代碼: 關鍵詞for是用來迴圈的,用法很簡單,不過用點規律 for(等於什麼;到什麼值;怎麼到那個值),上面的代碼便 ...
  • 使用jQuery實現表單校驗:(單獨拿出來介紹表單校驗,是因為內容比較多,知識點較多); 1、註:這裡使用validation插件完成對錶單數據的校驗; validate:一款優秀的表單驗證插件——validation插件 (1)特點: 內置驗證規則:擁有必填、數字、email、url和信用卡號碼等 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...