//通過標(biāo)簽名獲取DOM對象。返回的是一個集合,需通過具體下標(biāo)獲取某個具體的DOM對象。
var oDiv=document.getElementsByTagName("div");
//通過ID獲取DOM對象。
var oBox=document.getElementById("box");
//通過className來獲取DOM對象,返回的是一個集合,需通過具體下標(biāo)獲取某個具體的DOM對象。
var oBox=document.getElementsClassName("box");
children:非標(biāo)準(zhǔn)屬性,返回指定元素的所有子元素,是一個HTMLCollection。
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供南票網(wǎng)站建設(shè)、南票做網(wǎng)站、南票網(wǎng)站設(shè)計、南票網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、南票企業(yè)網(wǎng)站模板建站服務(wù),10年南票做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
var o=oDiv.children;
childNodes:標(biāo)準(zhǔn)屬性,返回指定元素的所有子元素和文本節(jié)點,是一個NodeList。(折行就有一個文本節(jié)點)
var oo=oDiv.childNodes;//IE6,7,8會出現(xiàn)異常(無閉合,返回text;返回路徑。)
節(jié)點屬性
(1)節(jié)點類型nodeType:console.log(oo[0].nodeType);//返回值:元素節(jié)點--1;屬性節(jié)點--2;文本節(jié)點--3;
(2)節(jié)點名稱nodeName:console.log(oo[0].nodeName);//即標(biāo)簽名稱,文本節(jié)點為#text。
(3)節(jié)點內(nèi)容nodeValue:console.log(oo[0].nodeValue);//node實際上是指針,其本身無值,故該屬性的返回值始終為null。
var allNode=document.getElementsByTagName("*");
(2)獲取父元素
oLi.parentNode.style.background="red";
oDiv.offsetParent;//獲取定過位的父元素,若沒有則返回body。
(3)獲取第一個孩子
oUl.firstChild;//適用IE6,7,8
oUl.firstElementChild;//適用標(biāo)準(zhǔn)瀏覽器,IE6,7,8不兼容。
//兼容處理:
var first=obj.firstChild ? obj.firstChild : obj.firstElementChild ;
(4)獲取最后一個孩子
oUl.lastChild;
oUl.lastElementChild;
//兼容性及兼容處理同上。
(5)獲取兄弟節(jié)點
oLi.nextSibling;
oLi.nextElementSibling;
oLi.previousSibling;
oLi.previousElementSibling;
var li=document.createElement("li");//創(chuàng)建子節(jié)點
oUl.appendChild(li);//往父元素追加子節(jié)點(同一節(jié)點只能添加一次)
var text=document.createTextNode("xxx");//創(chuàng)建文本節(jié)點
li.appendChild(text);//將文本節(jié)點追加到元素中。
//li.innerHTML="xxx";
//li.nodeValue;//錯誤。
//li.childNodes[0].nodeValue;//正確,有返回值。
li.childNode[0].nodeValue="";//不能識別標(biāo)簽,innerHTNML能夠識別標(biāo)簽。
(2) 插入節(jié)點 insertBefore
父元素.insertBefore(newNode,someNode);//someNode表示插入節(jié)點的參考位置。
如果插入一個已有的子元素,會先刪除自己原來的,然后插入到指定位置。(appendChild也一樣。)
(3) 刪除節(jié)點 removeChild
父元素.removeChild(要刪除的子節(jié)點);//返回被刪除的節(jié)點。
(4) 替換節(jié)點 replaceChild
父元素.replaceChild(newNode,被替換的節(jié)點);
(5) 復(fù)制節(jié)點(克隆節(jié)點)cloneNode
被克隆節(jié)點.cloneNode(false/true);//false:淺復(fù)制(只復(fù)制標(biāo)簽);true:深復(fù)制(整個結(jié)構(gòu)都被復(fù)制,包括標(biāo)簽里的內(nèi)容)。
tab.tBodies[0].rows[0].cells[0];
tab.tHead.rows[0].cells[0];
tab.tFood.rows[0].cells[0];
表單獲取元素
name可以標(biāo)識一個元素:from1.nameValue.屬性。
from1.onsubmit/onreset=function(){
//return true;//提交(默認(rèn)值)
//return false;//不提交
}
from1.onchange=function(){}
form1.text.onfocus/onblur=function(){}
from1.submit();
from1.reset();
用于訪問瀏覽器對象,沒有規(guī)范。其核心是window(窗口)。
alert("輸入錯誤");//提示對話框
confirm("是否關(guān)閉");//帶"確定"、"取消"按鈕的對話框 點擊"確認(rèn)"返回true,點擊"取消"返回false。
prompt("請輸入一個數(shù)字",0);//帶輸入框的對話框,返回輸入的數(shù)據(jù)。
abcdefghijklmn
btn.onclick=function(){
var p=prompt("請輸入要查找的內(nèi)容");
find(p);
}
打開窗口
open(打開窗口URL,打開方式,打開窗口的樣式,新窗口是否取代瀏覽器記錄中當(dāng)前加載的頁面);打開方式默認(rèn)值為_blank。
window.open ("http://www.baidu.com","_blank/_self", "width:100px;height:100px;",true/false);//window.可去掉,但在行間就不能去掉。如:
關(guān)閉窗口 close();
document.body.scrollTop;//滾動條滑動的距離。
document.body.scrollLeft;//火狐、IE不兼容,取值都為0。
document.documentElement.scrollTop;
document.documentElement.scrollLeft;//火狐、IE適用,但谷歌不兼容。
//兼容處理:
var sTop=document.body.scrollTop==0?document.documentElement.scrollTop:document.body.scrollTop;
box[0].scrollHeight;//滾動條可滑動的高度,即元素的可視高,包括padding,不包括margin、border;
box[0].scrollWidth;//滾動條可滑動的寬度,即元素的可視高,包括padding,不包括margin、border;
oDiv.offsetWidth;//div的占位寬,包括padding,border。
oDiv.offsetHeight;
oDiv.offsetTop;//距頁面頂部的距離,若父元素定位,則是與父元素的距離。
oDiv.offsetLeft;
oDiv.clientWidth;//div的可視寬,包括padding。
oDiv.clientHeight;
oDiv.clientTop;//div的上邊寬border-top。
oDiv.clientLeft;//div的左邊寬border-left。
window.onscroll=function(){};
window.onresize=function(){};
document.documentElement.clientHeight;//窗口可視高