編輯:看起來我們確定通過意見解決這個問題 - 這是通過獲取.outerHTML財產的價值實現。然而,至少在使用outerHTML時,Firefox和Chrome至少會「標準化」原始源代碼。例如,outerHTML的獲取一個HTML元素的全(原創)文本
<div id = "a"> <!-- string is 14 characters long //-->
仍返回
<div id="a"> <!-- string is 12 characters long //-->
顯然,這個問題將被視爲解決,如果結果字符串的格式將匹配原始HTML源代碼。啊!爲什麼outerHTML必須調整原始值?
---說了:---
我正在尋找一個解決方案來獲得點擊的HTML標記的全文。
起點的例子(注意:故意,法律但錯位的格式):
<div id = "a" style ="color: blue ;">text</div>
// Returns: div
var doc = document.getElementById("id").tagName;
// Returns: array of attribute name/value pair (without = or ")
var attrs = document.getElementById("id").attributes;
我們怎麼會去產生下面的文本字符串,被點擊元素#A時:
<div id = "a" style= "color: blue ;">
我似乎還沒有找到這個解決方案。
這是幹什麼用的?
最終目標是確定標籤內容的任意的字符長度。假設它可以以任何可以產生可接受的HTML輸出的方式進行編輯。例如,下面兩種情況應該返回:
<div id=a style="color:blue"> // 28
<div id = "a" style= "color: blue ;"> // 36
計數是很容易的部分。它正在獲取該標籤的實際字符串,就像它出現在源代碼中一樣,這就是問題所在。
關於「正常化」與outerHTML,它是如何屬性作品的必然結果,這是由串行化根據相關DOM片段[* HTML片段序列化算法*](HTTP://dev.w3 .ORG/HTML5/SPEC-LC /所述-end.html#HTML片段的序列化算法)。它可能與源標記很少相似。順便說一句,「完整和原創」應該不會被「和」分開。 – RobG