JavaScript文檔加載模式以及元素獲取
一、文檔加載模式
1.事件三要素:事件源(觸發(fā)時(shí)間的元素);事件名稱(click點(diǎn)擊事件);事件處理程序(事件出發(fā)后要執(zhí)行的代碼函數(shù)形式)存在問(wèn)題:瀏覽器加載一個(gè)頁(yè)面的時(shí)候,是按照自上而下的順序加載的,若將script標(biāo)簽寫(xiě)到head內(nèi)部,在代碼執(zhí)行時(shí)候,頁(yè)面還沒(méi)有加載,頁(yè)面中的DOM對(duì)象也沒(méi)有加載。就會(huì)導(dǎo)致js中無(wú)法獲取頁(yè)面中的DOM對(duì)象。解決方法:onload事件,會(huì)在整個(gè)頁(yè)面加載完之后才觸發(fā),為window綁定一個(gè)onload事件,該事件對(duì)應(yīng)的響應(yīng)函數(shù)將會(huì)在頁(yè)面加載完成之后執(zhí)行,這樣可以確保我們的代碼執(zhí)行時(shí)所有的DOM對(duì)象已經(jīng)加載完了
<style>
button{
width:100px;
height:100px;
background-color:green;
margin:0 auto;
font-size:30px;
}
</style>
</head>
<body>
<div></div>
<button id="button">點(diǎn)擊</button>
<script>
window.onload = function (ev) {
var btn = document.getElementById("button");
btn.onclick = function (ev) {
alert("成功了");
}
}
</script>
</body>
運(yùn)行顯示:

點(diǎn)擊按鈕

二、文檔頁(yè)面元素獲取
根據(jù)id、標(biāo)簽名、name、類名、選擇器獲取元素
<script>
window.onload = function (ev) {
var btn = document.getElementById("button");
btn.onclick = function (ev) {
alert("成功了");
}
}
window.onload = function (ea) {
var btn1 = document.getElementById("button")
console.log(btn1);
var btn2 = document.getElementsByClassName("button2");
console.log(btn2[0]);
var btn3 = document.getElementsByTagName("button");
console.log(btn3[0]);
var btn4 = document.getElementsByName("button3");
console.log(btn4[0]);
var btn5 = document.querySelector("#button2");
console.log(btn5);
var btn6 = document.querySelectorAll("#button1");
console.log(btn6[0]);
}
</script>
運(yùn)行顯示:

三、源碼:
地址:https://github.com/ruigege66/JavaScript/blob/master/D27_1_Document.html
博客園:https://www.cnblogs.com/ruigege0000/
CSDN:https://blog.csdn.net/weixin_44630050?t=1
腳本之家:http://m.fzitv.net/article/191885.htm
到此這篇關(guān)于JavaScript文檔加載模式以及元素獲取的文章就介紹到這了,更多相關(guān)JavaScript 文檔加載 元素獲取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談JS 數(shù)字和字符串之間相互轉(zhuǎn)化的糾紛
下面小編就為大家?guī)?lái)一篇淺談JS 數(shù)字和字符串之間相互轉(zhuǎn)化的糾紛。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
一個(gè)封裝js代碼-----展開(kāi)收起效果示例
本文為大家介紹下一個(gè)封裝展開(kāi)收起效果js代碼;引用jQuery的框架,兼容ie6以上,火狐,谷歌,ie6沒(méi)有測(cè)試大家可以自己測(cè)試2013-07-07
ES6的函數(shù)rest參數(shù)使用小結(jié)
這篇文章主要介紹了ES6的函數(shù)rest參數(shù)用法,通過(guò)一個(gè)rest參數(shù)代替arguments變量的例子,對(duì)ES6?rest參數(shù)用法講解的非常詳細(xì),需要的朋友可以參考下2023-08-08
網(wǎng)絡(luò)復(fù)制內(nèi)容時(shí)常用的正則+editplus
有時(shí)侯我們?cè)诳截惥W(wǎng)頁(yè)上的內(nèi)容的時(shí)候,總是有一些,開(kāi)頭的數(shù)字,需要替換掉2006-11-11
JavaScript mixin實(shí)現(xiàn)多繼承的方法詳解
這篇文章主要介紹了JavaScript mixin實(shí)現(xiàn)多繼承的方法,結(jié)合實(shí)例形式分析了mixin多繼承的原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-03-03
解決微信小程序調(diào)用moveToLocation失效問(wèn)題【超簡(jiǎn)單】
這篇文章主要介紹了解決微信小程序調(diào)用moveToLocation失效問(wèn)題,解決方法超級(jí)簡(jiǎn)單,需要的朋友可以參考下2019-04-04
原生js實(shí)現(xiàn)each方法實(shí)例代碼詳解
這篇文章主要介紹了原生js實(shí)現(xiàn)each方法,需要的朋友可以參考下2019-05-05
JavaScript算法系列之快速排序(Quicksort)算法實(shí)例詳解
這篇文章主要介紹了JavaScript算法系列之快速排序(Quicksort)算法實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-09-09

