亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

innerText,innerHtml,label,text,textContent

innerText,innerHtml,label,text,textContent

慕仙森 2019-11-07 10:31:28
我有一個由Javascript填充的下拉列表。在決定應該在加載時顯示的默認值時,我意識到以下屬性顯示的值完全相同:innerTextinnerHtmllabeltexttextContentouterText我自己的研究顯示基準測試或其中一些(但不是全部)之間的比較。我可以使用自己的常識選擇一個或另一個,因為它們提供相同的結果,但是,我擔心如果數據發生更改,這將不是一個好主意。我的發現是:innerText 將按原樣顯示該值,并忽略可能包含的任何HTML格式innerHTML 將顯示值并應用任何HTML格式label似乎與相同innerText,所以看不到區別text似乎innerText與jQuery簡寫版本相同textContent看起來與相同,innerText但保持格式(例如\n)outerText 似乎與 innerText我的研究只能采取我太厲害,我只能考什么我能想到的或讀到的東西發布后,任何一個可以確認但如果我的研究是正確的,如果有什么特別的label和outerText?
查看完整描述

3 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

下拉列表包含Option對象的集合,因此您應該使用.text屬性檢查元素的文本表示形式,即


<option value="123">text goes here</option>

                    ^^^^^^^^^^^^^^

順便說一句,


.text似乎.innerText與JQuery速記版本相同


那是不對的。$(element).text()是jQuery版本,element.text而是屬性訪問版本。


查看完整回答
反對 回復 2019-11-07
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

innerText和outerText都存在的原因是為了與innerHTML和outerHTML對稱。分配給屬性時,這一點很重要。


假設您有一個e包含HTML代碼的元素<b>Lorem Ipsum</b>:


e.innerHTML = "<i>Hello</i> World!"; => <b><i>Hello</i> World!</b>

e.outerHTML = "<i>Hello</i> World!"; =>? ? <i>Hello</i> World!

e.innerText = "Hello World!";? ? ? ? => <b>Hello World!</b>

e.outerText = "Hello World!";? ? ? ? =>? ? Hello World!


查看完整回答
反對 回復 2019-11-07
  • 3 回答
  • 0 關注
  • 523 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號