常見的獲取元素的方法有3種,分別是通過元素id、通過標籤名字和通過類名字來獲取。
dom提供了乙個名為getelementbyid的方法,這個方法將返回乙個與之對應id屬性的節點物件。使用的時候請注意區分大小寫。
它是document物件特有的函式,只能通過其來呼叫該方法。其使用的方法如下:
document.getelementbyid('demo') //demo是元素對應的id
該方法相容主流瀏覽器,甚至包括ie6+,可以大膽使用。
該方法返回乙個物件陣列(準確的說是htmlcollection集合,它不是真正意義上的陣列),每個物件分別對應著文件裡有著給定標籤的乙個元素。類似於getelementbyid,同樣,該方法只提供乙個引數,它的引數是指定標籤的名字,示例**如下:
document.getelementsbytagname('li') //li是標籤的名字
需要注意的是,該方法除了能被document物件呼叫之外,還可以被普通的元素呼叫。示例如下:
var demo = document.getelementbyid('demo');
var lis = demo.getelementsbytagname('li');
同樣,該方法相容主流瀏覽器,甚至包括ie6+,可以大膽使用。
除了通過指定標籤獲取元素外,dom還提供了getelementsbyclassname方法來獲取指定class名的元素。不過由於該方法比較新,較老的瀏覽器還不支援,比如ie6。不過我們可以通過hack方式來彌補老瀏覽器缺陷。該方法呼叫的方式如下所示:
document.getelementsbyclassname('demo') //demo為元素指定的class名
和getelementsbytagname一樣, 該方法除了能被document物件呼叫之外,還可以被普通的元素呼叫。
對於比較老的瀏覽器,比如ie6、7我們可以通過下面的hack方式來實現:
function getelementsbyclassname(node,classname)else
}return results;
}}
如果你想獲取極致的效能,可以參考這便文章:the ultimate getelementsbyclassname, anno 2008
如果你不僅僅滿足上面那些元素選擇的方法,想和jquery一樣,能通過選擇器來獲取元素,實現的方法和上面的getelementsbyclassname差不多,如果有興趣自己可以實現一套選擇器。不過我覺得有上面的三個方法再結合事件冒泡,已經夠用了,畢竟這三種效能上算是優秀的。
JavaScript中常見的HTML DOM操作
dom是文件物件模型 document object model 的縮寫,dom 定義了訪問 html 和 xml 文件的標準 w3c 文件物件模型 dom 是中立於平台和語言的介面,它允許程式和指令碼動態地訪問和更新文件的內容 結構和樣式。以下是一段html的 鏈結 同時,dom解析html文件在...
javaScript 中常見的10種錯誤
game.prototype.restart function 0 執行上面的 將會出現如下錯誤 uncaught typeerror undefined is not a function 為什麼會有這個錯?this是指代當前物件本身,this的呼叫和它所在的環境密切相關。上面的錯誤是因為在呼叫s...
常見的Javascript獲取時間戳
最近在做專案的時候,發現獲取時間戳的需求挺多的,通常是在做日期選擇的時候,要拿開始時間和結束時間的時間戳。每次都得google一下,還不如自己搞一搞!new date 通常會有這樣的需求,就是檢視今天的資料,那麼就需要獲取今天0點和24點的時間戳,可以通過sethours函式來進行操作 let ti...