[英]Why does tagName method in JavaScript return HTML tags in capital letters?
為什么JavaScript中的tagName方法以大寫字母返回HTML標記? HTML標簽應該用小寫字母書寫。
因為這是tagName
的定義方式 :
tagName屬性的getter必須返回上下文對象的HTML-uppercased限定名 。
HTML標記名稱(和屬性名稱)不區分大小寫,但標記名稱的規范版本全部大寫,無論創建元素的HTML是如何編寫的:
document.querySelectorAll("div").forEach(function(div) { console.log(div.tagName); });
<div></div> <DIV></DIV> <Div></Div>
這非常方便,因為它意味着在進行比較之前,如果需要知道標記是否與特定標記名稱匹配,則查看tagName
代碼不必調用toUpperCase
(或toLowerCase
)。 例如, if (element.tagName === "DIV")
在HTML頁面中是可靠的。
首次創建JavaScript時,舊版本的HTML按照慣例使用標記名稱的全部大寫,而不是今天的小寫。 為了保持與舊代碼向后兼容, tagName()
仍然返回全部大寫並且一直被卡住。
要完成,請注意tagName :
返回調用它的元素的標記名稱。 例如,如果元素是a,則其tagName屬性為“IMG”(對於HTML文檔;對於XML / XHTML文檔,它可能會有所不同)。
使用svg查看下面的結果:
[...document.querySelectorAll("*")].forEach(function(el){ console.log(el.tagName); });
<svg width="300px" height="300px" xmlns="http://www.w3.org/2000/svg"> <text x="10" y="50" font-size="30">My SVG</text> </svg>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.