JavaScript firstChild屬性
此屬效能夠獲取指定元素節點下的第一個子節點。
如果元素下沒有子節點,那麼返回null。
特別說明:
(1).子節點並不一定都是元素節點,還有可能包含文字節點或者註釋節點等節點。
(2).空格或者換行被看做文字節點。
後面會通過程式碼例項進行相關演示。
關於節點型別可以參閱JavaScript nodeType屬性一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼elementNode.firstChild
瀏覽器支援:
(1).IE瀏覽器支援此屬性。
(2).edge瀏覽器支援此屬性。
(3).谷歌瀏覽器支援此屬性。
(4).火狐瀏覽器支援此屬性。
(5).opera瀏覽器支援此屬性。
(6).safria瀏覽器支援此屬性。
程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> window.onload=function(){ let box=document.getElementById("box"); let show=document.getElementById("show"); show.innerHTML=box.firstChild.nodeType; } </script> </head> <body> <div id="show"></div> <ul id="box"> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <li>螞蟻部落三</li> <li>螞蟻部落四</li> </ul> </body> </html>
上述程式碼可以獲取box元素下第一個子節點的型別,並將其寫入div中。
具有一定的瀏覽器相容性問題,分析如下:
(1).在IE9+和其他標準瀏覽器中,div顯示數字3,說明是文字節點。
(2).在IE8和IE8以下瀏覽器中,div顯示數字1,說明是元素節點。
因為在標準瀏覽器中,會將空格和換行看做是文字節點,而低版本IE瀏覽器則無視空格或者換行。
以當前的軟硬體水平,其實在一定程度上可以無視低版本IE瀏覽器。
如果實在要相容可以使用如下類似程式碼:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> window.onload=function(){ var box=document.getElementById("box"); var show=document.getElementById("show"); var firstNode=box.firstChild; while (firstNode.nodeType!=1){ firstNode=firstNode.nextSibling; } show.innerHTML=firstNode.innerHTML; } </script> </head> <body> <div id="show"></div> <ul id="box"> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <li>螞蟻部落三</li> <li>螞蟻部落四</li> </ul> </body> </html>
說實話,有時候感覺標準瀏覽器的處理方式真的不如低版本IE瀏覽器處理方式好。
絕大多數時候需要無視空格或者換行,上面就是一段能夠實現此功能的程式碼,原理比較簡單,就是使用迴圈遍歷的手段,找到第一個節點型別不為3的節點。
相關文章
- JavaScript firstChildJavaScript
- JavaScript childElementCount 屬性JavaScript
- JavaScript prototype屬性JavaScript
- JavaScript files 屬性JavaScript
- JavaScript cells 屬性JavaScript
- JavaScript rows 屬性JavaScript
- JavaScript nodeName 屬性JavaScript
- JavaScript offsetX 屬性JavaScript
- JavaScript classList 屬性JavaScript
- JavaScript rowIndex 屬性JavaScriptIndex
- JavaScript tagName 屬性JavaScript
- JavaScript nextElementSibling 屬性JavaScript
- JavaScript validity 屬性JavaScript
- JavaScript className 屬性JavaScript
- JavaScript style 屬性JavaScript
- JavaScript NaN 屬性JavaScriptNaN
- JavaScript Infinity 屬性JavaScript
- JavaScript parentNode 屬性JavaScript
- JavaScript select text 屬性JavaScript
- JavaScript select size 屬性JavaScript
- JavaScript select length 屬性JavaScript
- JavaScript 例項屬性JavaScript
- JavaScript 字串 length屬性JavaScript字串
- JavaScript 函式 name 屬性JavaScript函式
- 理解 JavaScript 物件的屬性JavaScript物件
- JavaScript 刪除class屬性JavaScript
- JavaScript 函式 length 屬性JavaScript函式
- JavaScript 陣列 length 屬性JavaScript陣列
- JavaScript物件的資料屬性與訪問器屬性JavaScript物件
- JavaScript 獲取 checked 屬性值JavaScript
- JavaScript監聽屬性改變JavaScript
- JavaScript ----- 操作DOM物件的屬性JavaScript物件
- JavaScript物件屬性是有序的嗎?JavaScript物件
- JavaScript 數字呼叫方法或者屬性JavaScript
- JavaScript get set 訪問器屬性JavaScript
- JavaScript刪除和清空物件屬性JavaScript物件
- JavaScript遍歷物件屬性順序JavaScript物件
- (JavaScript學習記錄):jQuery 屬性操作JavaScriptjQuery