[英]How to connect array element with innerHTML? e.g. element[0].innerHTML
[英]How to call and print nodeType name instead of just the number (e.g.: "ELEMENT_NODE")?
我想獲取一個節點並確定其節點類型)(例如:1、2、3 等)和節點類型名稱(例如:ELEMENT_NODE、TEXT_NODE 等...),以便它在控制台中顯示為一句話:
你好,我是“[object HTMLBodyElement]”。 他們說我是“1”,一種稱為“ELEMENT_NODE”的節點類型。 我以“身體”的形狀出現
好的,我找到了一種列出節點類型及其名稱的方法:
for(let key in Node){
console.log(key, ' = '+Node[key]);
};
但是我太缺乏經驗了,無法將這段代碼與下面的代碼混合使用:
const bodyIs = document.body;
console.log(`Hi, I am ${bodyIs}.
They say I am a "${bodyIs.nodeType}",
a Node Type known as "${bodyIs.nodeKey}".
I come in the shape of a "${bodyIs.nodeName}."`);
肯定沒有“.nodeKey”這樣的東西,所以我當然得到這個:
嗨,我是“對象 HTMLBodyElement]”。 他們說我是“1”,一種稱為“未定義”的節點類型。 我以“身體”的形式出現。
我該怎么做才能得到“ELEMENT_NODE”而不是“undefined”?
看起來您需要手動創建查找表:
const nodeTypeName = { 1: "ELEMENT_NODE", 2: "ATTRIBUTE_NODE", 3: "TEXT_NODE", 4: "CDATA_SECTION_NODE", //... }; console.log(nodeTypeName[ document.body.nodeType ])
您可以使用 Object.keys 訪問任何對象的鍵列表。 由於 Node 是一個對象,只需使用它的鍵列表並使用 nodeType 的值訪問鍵名。
let bodyIs = document.getElementsByTagName('body')[0]; console.log(bodyIs, Object.keys(Node)[bodyIs.nodeType])
<html> <head /> <body /> </html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.