第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

querySelector和$()區(qū)別

querySelector和$()區(qū)別

梵蒂岡之花 2019-03-20 17:09:23
頁面有如下元素<div class="list-box">    <div class="buttonrideo">        <input id="aBtn" type="checkbox" class="default-1"/>    </div></div><div class="list-box">    <div class="buttonrideo">        <input id="bBtn" type="checkbox" class="default-1"/>    </div></div>jquery腳本里:var a = document.querySelector("#aBtn");var b = $("#aBtn");a和b有何區(qū)別?發(fā)現(xiàn)b[0]==a,為何?
查看完整描述

7 回答

?
桃花長相依

TA貢獻1860條經(jīng)驗 獲得超8個贊

document.querySelector 是瀏覽器級別的 API,根據(jù)參數(shù)選擇第一個滿足的 DOM 節(jié)點。

jquery 腳本里面的 $ 必須在引入了 jquery 之后才能使用,也是 dom 的選擇器,選擇滿足條件的 DOM 節(jié)點數(shù)組,現(xiàn)在 jquery 貌似結(jié)果是原生的 DOM 元素了,所以 $('#aBtn')[0] 就等同于 document.querySelector('#aBtn')


查看完整回答
反對 回復(fù) 2019-03-28
?
倚天杖

TA貢獻1828條經(jīng)驗 獲得超3個贊

  1. a是(調(diào)用querySelector)返回的DOM原生element對象

  2. b是(調(diào)用jQ的$/jQuery,或者可以叫做jQuery構(gòu)造器)返回的jQ包裝對象,jQ包裝對象同時包含有原生DOM對象和一些jQ自己的東西

  3. b[0]==a是因為jQ包裝對象在存儲時會把原生DOM對象存儲在key[0]的位置(這個你console一下就很清楚了)


查看完整回答
反對 回復(fù) 2019-03-28
?
揚帆大魚

TA貢獻1799條經(jīng)驗 獲得超9個贊

a是js對象, b是jquery對象


查看完整回答
反對 回復(fù) 2019-03-28
?
慕桂英3389331

TA貢獻2036條經(jīng)驗 獲得超8個贊

首先 $() 函數(shù)是JQuery類庫里的,querySelector() 是html5里自帶的。


$() 的行為是查找所有匹配的元素,并封裝成jQuery對象以方便使用。

querySelector() 的行為是查找匹配的第一個元素,返回的值為原生DOM對象。


而對jQuery對象使用方括號操作符會返回原生的DOM對象,所以 b[0] 返回的是匹配該選擇器的第一個原生DOM對象,所以會和 querySelector() 返回的值 a 相等。


然后html5里還有一個 querySelectorAll() 方法,該方法返回的值為一個可迭代的 NodeList 對象。這個方法的行為可能和jQuery的 $() 更相似。


let a = document.querySelectorAll('#aBtn');

let b = $('#aBtn');


a[0] === b[0];  //未測試,原則上來說應(yīng)該是相等的


查看完整回答
反對 回復(fù) 2019-03-28
  • 7 回答
  • 0 關(guān)注
  • 2573 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號