結構與內容屬性
nodeType
所有的節點都有類型,節點總共有以下的12種類型。
interface Node {
// NodeType
const unsigned short ELEMENT_NODE = 1;
const unsigned short ATTRIBUTE_NODE = 2;
const unsigned short TEXT_NODE = 3;
const unsigned short CDATA_SECTION_NODE = 4;
const unsigned short ENTITY_REFERENCE_NODE = 5;
const unsigned short ENTITY_NODE = 6;
const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
const unsigned short COMMENT_NODE = 8;
const unsigned short DOCUMENT_NODE = 9;
const unsigned short DOCUMENT_TYPE_NODE = 10;
const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
const unsigned short NOTATION_NODE = 12;
...
}
其中最重要的兩個節點為元素節點(1)和文字節點(3)。其餘的很少會用到。
例如,列出所有的子元素節點時,我們可以遍歷它,並使用childNodes[i].nodeType != 1來進行偵測。
下面是實作程式碼:
- John
- Bob
<script> <br /> var childNodes = document.body.childNodes<br /> for(var i=0; i<childNodes.length; i ) {<br /> if (childNodes[i].nodeType != 1) continue<br /> alert(childNodes[i])<br /> }<br /> </script>
*思考
下面這段程式碼會提示什麼內容:
<script><br /> alert(document.body.lastChild.nodeType)<br /> </script>
nodeName, tagName
nodeName 和 tagName 都包含節點的名稱。
對於document.body來說
alert( document.body.nodeName ) // BODY
在HTML中所有的nodeName都會被大寫。
當nodeName沒有大寫時
這種情況比較稀有,你如果好奇的話可以閱讀以下。
你很可能已經知道,瀏覽器有兩種方式可以解析:HTML模式和__XML模式。通常使用的是HTML模式,但當使用XMLHttpRequest__技術取得XML文件時,會使用XML模式。
在火狐瀏覽器中當XHTML文件的Content-Type設定為xmlish時也會使用XML模式。
在__XML模式中節點名稱將會保留,所以有可能出現body或bOdY。
因此,如果透過XMLHttpRequest__技術從伺服器載入XML到HTML文件時,節點名稱將會保留。
對於元素來說nodeName和__tagName__是相同的。
但非元素節點也存在nodeName屬性,在這些節點中它有特殊的值:
alert(document.nodeName) // #document
大多數節點類型都沒有tagName屬性,並且在IE中註解節點的tagName為!。
因此,通常來講nodeName 跟 tagName 比起來更有意義一些。但tagName像是簡化版本,因此,當你只處理元素節點時,你可以使用它。
innerHTML
innerHTML是HTML5標準的一部分,詳細請看連結
它允許以文字的方式存取節點內容。下例將會輸出document.body的所有的內容並且用新的內容進行替換。
The paragraph
<script><br /> alert( document.body.innerHTML ) // read current contents<br /> document.body.innerHTML = 'Yaaahooo!' // replace contents<br /> </script>
innerHTML會包含一個有效地HTML。但瀏覽器也可以解析畸形的HTML。
innerHTML可以在任一個元素節點中進行使用。它非常非常有用。
innerHTML pitFalls
innerHTML不像看起來那麼簡單。它有一些陷阱在等待菜鳥們,甚至有些時候經驗豐富的程式設計師也無法避免。
IE中__table__節點的innerHTML為唯讀的
IE中COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR等元素裡innerHTML為唯讀的。
IE中的table標籤中除了TD其餘的標籤innerHTML都是唯讀的。
innerHTML不能追加
從語句的構成上來看innerHTML可以進行追加操作,例如:
chatDiv.innerHTML = "

chatDiv.innerHTML = "How you doing?"
但其實都做了些什麼:
1. 舊的內容被清空
2. 新的內容被解析,並插入了進去。內容沒有被追加,它重新生成了。
因此,所有的圖片和其他的資源當進行 =操作後會重新載入,包括smile.gif。
幸運的是,有其他的方式來更新內容,這種方式不使用innerHTML,因此沒有上面提到的問題。
nodeValue
innerHTML只對元素節點有效。
對於其他類型的節點來說,他們使用nodeValue屬性來取得內容。下例將說明它是如何在文字節點和註解節點工作的。
The text
<script><br /> for(var i=0; i<document.body.childNodes.length; i ) {<br /> alert(document.body.childNodes[i].nodeValue)<br /> }<br /> </script>
上記の例では、ノードが空であるため、一部の警告が空になっています。 SCRIPT ノードの場合、nodeValue === null であることに注意してください。これは、SCRIPT が要素ノードであるためです。要素ノードには innerHTML を使用します。
概要
ノードタイプ
ノードタイプ。最も重要なことは、要素ノードが 1、テキスト ノードが 3、読み取り専用であることです。
ノード名/タグ名
ラベル名は大文字で表記されます。非要素ノードの場合、nodeName には読み取り専用の特別な値も含まれます。
innerHTML
要素ノードの内容、書き込み可能。
ノード値
テキストノードの内容、書き込み可能。
DOM ノードには、そのタイプに応じて他の属性があります。たとえば、INPUT タグには value 属性と __checked__ 属性があります。属性には href などが含まれます。
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能