HTML基礎(三)DOM操作
DOM(Document Object Model 文件物件模型)
一個web頁面的展示,是由html標籤組合成的一個頁面,dom物件實際就是將html標籤轉換成了一個文件物件。可以通過dom物件中js提供的方法,找到html的各個標籤。通過找到標籤就可以操作標籤使頁面動起來,讓頁面動起來。
一、獲取標籤(獲取標籤的方法在頁面點選F12,或者右擊頁面點選檢查,在console框裡進行編寫)
1)直接獲取標籤
document.getElementById('i1'); //獲取id為i1的標籤
document.getElementsByTagName('div'); //根據標籤名稱獲得標籤陣列
document.getElementsByClassName('c1'); //根據class屬性獲取標籤的陣列
document.getElementsByName('dsx'); //根據name屬性獲取標籤陣列 2)間接獲取標籤(var是用來定義一個變數) var tmp=document.getElementById('h-test'); tmp.parentElement; // 父節點標籤元素 tmp.children; //所有子標籤 tmp .firstElementChild; //第一個子標籤元素 tmp .lastElementChild; // 最後一個子標籤元素1)直接繫結
直接在標籤中繫結事件
例:<input type="button" value="提交" style="float:left;margin-top: 16px" ondblclick="showValueD();">
//this代指當前這個操作的標籤
<input type="button" value="提交" style="float:left;margin-top: 16px" ondblclick="showValueD(this);">//showValueD是定義的一個函式,函式的實現程式碼在寫在下面
/ / function是標明定義一個函式,接收this,通過查詢父級,兄弟,子級來定位操作的元素 function showValueD(this) { alert (ths.previousElementSibling.value);//函式中的每一行需要用分號隔開,alert是指彈出一個彈框 }2)間接繫結
通過JavaScript獲取到需要繫結事件的標籤,obj.onclick=function(){} 繫結事件
onfocus() //獲取游標時做操作
onblur() //失去焦點做操作
onclick() //單擊時做操作
ondblclick() //雙擊時操作
onmouseover() //滑鼠懸浮觸發操作
onmouseout() //滑鼠離開懸浮時觸發操作例:var obj = document.getElementById('onmouse');
obj.onmouseover = function () { obj.style.background = 'red'; }; // 間接繫結的this代指,getElementById找到的這個標籤 var obj = document.getElementById('onmouse'); obj.onmouseout = function () { this.style.background = ''; } //裝逼繫結 支援同一個操作執行不同的兩段程式碼 var obj = document.getElementById('onmouse'); obj.addEventListener('click', function () { console.log(111)//console.log跟python中的print是一個意思 }, false)五、其他操作描述
console.log(msg) //列印資料
alert() //彈框提示 confirm() //確認彈框,返回true or false location.href //獲取當前的url location.href = 'http://www.imdsx.cn' //重定向 location.reload() //重新整理 location.href = location.href //重新整理 六、定時器 setInterval(function, time) //設定定時器,每隔time時間就執行一次 clearInterval(intervalObj) //清除定時器 function timeInterval() { var setInt = setInterval(function () { console.log(1); //執行一次就結束定時任務 clearInterval(setInt) }, 1000) } setTimeout(function, time) //設定定時器,頁面載入完成後,time時間後,執行function,只執行一次 clearTimeout(timeoutObj) //等待過程中 清除定時器 function timeOutInterval() { var setTime = setTimeout(function () { console.log('點選操作後,兩秒後提示文案') }, 2000); // 等的過程中,清除定時器 clearTimeout(setTime) }