前面说了 textarea 在显示内容时,是先执行 HtmlDecode。
那么如果用 JS 取出其中的值,是怎样的呢?
法一、document.getElementById("t1").value
使用 value 取值,取出的和我们看到的一样,也就是说也是经过 HtmlDecode 了的。
法二、document.getElementById("t1").innerText
这个只在 IE 中有效,在 Edge、Chrome 中均为零长度字符串,所以不用考虑了。顺带说一下,在 IE(包括 IE 11) 中和 value 效果一样。
注意并不是 Edge、Chrome 完全不支持 innerText,而是不支持对 textarea 使用,对其他控件,比如 div,则是可以使用 innerText 的。
法二、document.getElementById("t1").innerHTML
innerHTML 比较头痛,有点乱,总结了一下:
大概就是:
相关阅读