1. 程式人生 > 其它 >BOM操作、DOM操作與jQuery類庫

BOM操作、DOM操作與jQuery類庫

昨日內容回顧

  • JS基礎介紹

    JavaScript是一門前端語言,只是長得像Java,實際與Java無關。

  • JS基本使用

    • 變數與常量

      定義變數使用var或let關鍵字,定義常量使用const關鍵字,常量不可修改繫結關係。

    • 基本資料型別

      數字(Number)、字元(String)、物件之陣列(Array)、物件之自定義物件(Object)

    • 運算子

      四則運算、邏輯運算子

    • 流程控制

      if語句、switch語句、while迴圈語句

    • 函式

      使用function關鍵字定義、自帶arguments關鍵字接收所有引數

    • 內建物件

      時間物件、JSON物件

今日內容概要

  • BOM操作
  • DOM操作
  • jQuery類庫

今日內容詳細

BOM操作

BOM全稱為Bowser of model,即瀏覽器物件模型,BOM操作就是對瀏覽器視窗的操作。

對瀏覽器視窗的操作使用window關鍵字,表意清晰的情況下window可忽略,直接寫指令。

window.open(?url,?target,?features)  //開啟新視窗,指定網址、引用名及視窗樣式(尺寸、邊距等)
window.close()  //關閉當前視窗
window.navigator.userAgent  //獲取瀏覽器版本
window.history.forward()  //歷史記錄前進一頁
window.history.back()  //歷史記錄後退一頁
window.location.href  //獲取當前頁面所在的網址,也可以再加賦值符號和網址跳轉
window.location.reload()  //重新整理當前頁面
window.alert()  //警告框
window.confirm()  //確認框,有返回值,true或者false
window.prompt()  //提示框,有返回值,為提示框中輸入的結果
window.setTimeout(handler,?timeout,...arguments)
//設定定時任務,指定需要做的操作、倒計時時間(毫秒),如果操作需要傳引數,最後填入操作需要的引數
window.clearTimeout()  //清除定時任務
window.setInterval(handler,?timeout,...arguments)
//設定迴圈任務,指定需要做的操作、間隔時間(毫秒),如果操作需要傳引數,最後填入操作需要的引數。迴圈任務在結束之前會一直執行,若生成提示框則會造成提示框的重疊。
window.clearInterval()  //清除迴圈任務

DOM操作

DOM全稱為Document of model,即文件物件模型,通過DOM可以訪問HTML檔案內的所有元素。

查詢標籤

關鍵字為get後加查詢標籤的方式:

document.getElementById()  //通過id
document.getElementsByClassName()  //通過類名
document.getElementsByTagName()  //通過標籤名

對於一個標籤元素,通過點的形式可以檢視相關的標籤元素:

parentElement            父節點標籤元素
children                 所有子標籤
firstElementChild        第一個子標籤元素
lastElementChild         最後一個子標籤元素
nextElementSibling       下一個兄弟標籤元素
previousElementSibling   上一個兄弟標籤元素

生成及編輯標籤

let aEle = document.createElement('a')  //建立新標籤
aEle.setAttribute('name','value')  //設定屬性值
aEle.getAttribute()  //檢視屬性值
aEle.removeAttribute()  //刪除屬性
通過點的形式可以檢視標籤的屬性,也可通過賦值改變標籤對應屬性,通過.appendChild可以為標籤新增子標籤。

操作CSS與class

1.js操作標籤css樣式
	標籤物件.style.屬性名 = ''
2.js操作標籤class屬性
	標籤物件.classList.add()
  	標籤物件.classList.contains()
    標籤物件.classList.remove()
    標籤物件.classList.toggle()  //在有與無之間切換

事件

常見的事件有onclick(點選)、onfocus(聚焦)、onblur(模糊)、onchange(變化)。

事件的本質為標籤的屬性,通過為事件關鍵字繫結(賦值)對應的函式實現對應的操作。可以直接在標籤內新增對應事件,但一般推薦在最下方script標籤內通過點的形式賦值。

this指代的就是當前被操作的標籤物件本身,隨著所在this所在位置變化其指代內容也會變化。

XXX. onload 等待XXX載入完畢之後再執行後面的程式碼。

jQuery類庫

jQuery原則:write less,do more.

特點

  1. 載入速度快。
  2. 選擇器更多更好用。
  3. 一行程式碼走天下。
  4. 支援ajax請求(重點)。
  5. 相容多瀏覽器。

載入方法

通過script內的src屬性匯入HTML檔案,又分為本地載入及CDN(內容分發網路)載入。

  1. 本地載入,直接將對應程式碼下載至本地,離線也可使用。

  2. CDN載入,適用範圍更廣,但速度稍慢。

使用方法

dollar($)符號之後直接書寫jQuery語句。

js程式碼與jQuery程式碼對比
    let pEle = document.getElementsByTagName('p')[0]
    undefined
    pEle.style.color = 'red'
    'red'
    pEle.nextElementSibling.style.color = 'green'

    $('p').first().css('color','yellow').next().css('color','blue')

標籤物件與jQuery物件

1.不同的物件能夠呼叫的方法是不同的,在編寫程式碼的時候一定要看清楚手上是什麼物件。

2.兩者可以互相轉換:
標籤物件轉jQuery物件
$(標籤物件)
jQuery物件轉標籤物件
jQuery物件[0]