JavaScipt選取文檔元素的方法(推薦)
摘自JavaScript權(quán)威指南(jQuery根據(jù)樣式選擇器查找元素的終極方式是 先用getElementsByTagName(*)獲取所有DOM元素,然后根據(jù)樣式選擇器對(duì)所有DOM元素進(jìn)行篩選)
選取文檔元素的方法:
1、通過(guò)ID選取元素(getElementById)
1)使用方法:document.getElementById("domId")
其中,domId為要選取元素的id屬性值
2)兼容性:低于IE8版本的IE瀏覽器對(duì)getElementById方法的實(shí)現(xiàn)是不區(qū)分元素ID號(hào)的大小寫(xiě)的,并且會(huì)返回匹配name屬性的元素。
2、通過(guò)名稱(chēng)name選取元素(getElementsByName)
1)使用方法:document.getElementsByName("domName")
其中,domName為要選取元素的name屬性值
2)說(shuō)明:
a. 返回值是一個(gè)nodeList集合(區(qū)別于Array)
b. 和ID屬性不一樣,name屬性只在少數(shù)DOM元素中有效(form表單、表單元素、iframe、img)。這是因?yàn)閚ame屬性是為了方便提交表單數(shù)據(jù)而打造的。
c. 為form、img、iframe、applet、embed、object元素設(shè)置name屬性時(shí),會(huì)自動(dòng)在Document對(duì)象中創(chuàng)建以該name屬性值命名的屬性。所以可以通過(guò)document.domName引用相應(yīng)的dom對(duì)象
3)兼容性:IE中ID屬性值匹配的元素也會(huì)一起返回
3、通過(guò)標(biāo)簽名選取元素(getElementsByTagName)
1)使用方法:document.getElementsByTagName("tagName")
其中,element是有效的DOM元素(包括document)
tagName是DOM元素的標(biāo)簽名
如:var aInput = document.getElementsByTagName("input");
var aName = aInput[0];
var pwd = aInput[1];
var cfm = aInput[2];
2)說(shuō)明:a. 返回值是一個(gè)nodeList集合(區(qū)別于Array)
b. 該方法只能選取調(diào)用該方法的元素的后代元素。
c. tagName不區(qū)分大小寫(xiě)
d. 當(dāng)tagName為*時(shí),表示選取所有元素(需遵從b.規(guī)則)
e. HTMLDocument會(huì)定義一些快捷屬性來(lái)訪問(wèn)標(biāo)簽節(jié)點(diǎn)。如:document的images、forms、links屬性指向<img>、<form>、<a>標(biāo)簽元素集合,而document.body和document.head總是指向body和head標(biāo)簽(當(dāng)未顯示聲明head標(biāo)簽時(shí),瀏覽器也會(huì)創(chuàng)建document.head屬性)
4、通過(guò)CSS類(lèi)選取元素(getElementsByClassName)
1)使用方法:element.getElementsByClassName("classNames")
其中,element是有效的DOM元素(包括document)
classNames是CSS類(lèi)名稱(chēng)的組合(多個(gè)類(lèi)名之間用空格,可以是多個(gè)空格隔開(kāi)),
如element.getElementsByClassName("class2 class1")將選取elements后代元素中同時(shí)應(yīng)用了class1和class2樣式的元素(樣式名稱(chēng)不區(qū)分先后順序)
2)說(shuō)明:
a. 返回值是一個(gè)nodeList集合(區(qū)別于Array)
b. 該方法只能選取調(diào)用該方法的元素的后代元素。
3)兼容性:IE8及其以下版本的瀏覽器未實(shí)現(xiàn)getElementsByClassName方法
5、通過(guò)CSS選擇器選取元素
1)使用方法:document.querySelectorAll("selector")
其中,selector為合法的CSS選擇器
2)說(shuō)明:a. 返回值是一個(gè)nodeList集合(區(qū)別于Array)
3)兼容性:IE8及其以下版本的瀏覽器只支持CSS2標(biāo)準(zhǔn)的選擇器語(yǔ)法
以上這篇JavaScipt選取文檔元素的方法(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- js刪除Array數(shù)組中指定元素的兩種方法
- JS從數(shù)組中隨機(jī)取出幾個(gè)數(shù)組元素的方法
- JS中使用DOM來(lái)控制HTML元素
- js刪除數(shù)組元素、清空數(shù)組的簡(jiǎn)單方法(必看)
- javascript與jquery動(dòng)態(tài)創(chuàng)建html元素示例
- javaScript給元素添加多個(gè)class的簡(jiǎn)單實(shí)現(xiàn)
- js 動(dòng)態(tài)給元素添加、移除事件的實(shí)現(xiàn)方法
- js實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建的元素綁定事件
相關(guān)文章
JavaScript實(shí)現(xiàn)計(jì)數(shù)器基礎(chǔ)方法
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)計(jì)數(shù)器的基礎(chǔ)方法2017-10-10
,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
詳解javascript中對(duì)數(shù)據(jù)格式化的思考
本篇文章主要介紹了詳解javascript中對(duì)數(shù)據(jù)文本格式化的思考 ,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01
js實(shí)現(xiàn)網(wǎng)頁(yè)抽獎(jiǎng)實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)網(wǎng)頁(yè)抽獎(jiǎng)的方法,實(shí)例分析了javascript隨機(jī)數(shù)及時(shí)間函數(shù)的相關(guān)使用技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-08-08
使用JS-SDK開(kāi)發(fā)公眾號(hào)微信網(wǎng)頁(yè)的完整步驟
微信JS-SDK是微信公眾平臺(tái) 面向網(wǎng)頁(yè)開(kāi)發(fā)者提供的基于微信內(nèi)的網(wǎng)頁(yè)開(kāi)發(fā)工具包,下面這篇文章主要介紹了使用JS-SDK開(kāi)發(fā)公眾號(hào)微信網(wǎng)頁(yè)的完整步驟,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
JavaScript庫(kù)urlcat?之URL構(gòu)建器庫(kù)
這篇文章主要介紹了JavaScript庫(kù)urlcat之URL構(gòu)建器庫(kù),urlcat?是一個(gè)小型的JavaScript庫(kù),使構(gòu)建URL非常方便并防止常見(jiàn)錯(cuò)誤。下文來(lái)看對(duì)其詳細(xì)介紹吧,需要的小伙伴可以參考一下2022-02-02
js操作輸入框提示信息且響應(yīng)鼠標(biāo)事件
注冊(cè)網(wǎng)站的輸入框就有默認(rèn)提示值,當(dāng)獲取鼠標(biāo)焦點(diǎn)的時(shí)候,默認(rèn)值被刪除,當(dāng)用戶沒(méi)輸入東西焦點(diǎn)離開(kāi)的時(shí)候,又恢復(fù)默認(rèn)提示值2014-03-03
通過(guò)封裝scroll.js 獲取滾動(dòng)條的值
本文通過(guò)實(shí)例代碼給大家介紹了通過(guò)封裝scroll.js 獲取滾動(dòng)條的值的相關(guān)知識(shí),代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-07-07

