簡體   English   中英

輸入元素中 textContent 的目的是什么?

[英]What is the purpose of textContent in an input element?

在 DOM 中提供一個 input 元素,它確實有一個textContent屬性和value 眾所周知,輸入的值是文本框中顯示的值,並且該元素不能有任何子元素,即<input>something</input>仍然給出一個空輸入,后跟一個兄弟文本節點,而關閉標簽完全被忽略。 但是當我們為此輸入的textContent設置一個值時,它以某種方式在往返過程中幸存下來:

input.textContent = 'something'
console.log(input.textContent)  // this works

此外,設置屬性后,輸入在檢查器中顯示為具有子元素: 設置文本內容后的Safari檢查器截圖

也許這只是我,但我在這里看不到任何邏輯一致性。 在將文本內容設置為輸入時出現類型錯誤不是很好嗎?

目前的行為背后有什么原因嗎?

DOM是不是HTML,但對於樹結構,其與符合的API XML信息設置翻譯<input>something</input>到輸入元件后跟文本節點是HTML解析器的行為,而不是的行為DOM。

實際上,如果您使用 XHTML,作為application/xhtml+xml<input>something</input>將成為帶有文本節點子節點的輸入元素,與使用.textContent相同。 所以.textContent以它的方式工作是完全正常的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM