澳门新葡萄京官网首页文本框 textarea HTML 实体探求-取出其中的内容是怎样的?

  • 文本框 textarea HTML 实体探求-如何显示其中的 HTML
    内容
  • 文本框 textarea HTML 实体探求-取出其中的内容是怎样的?
  • 文本框 textarea HTML 实体探求-用 jQuery val()、html()、text()
    取值怎样?
  • 文本框 textarea HTML 实体探求-如何显示其中的 HTML
    内容
  • 文本框 textarea HTML
    实体探求-取出其中的内容是怎样的?
  • 文本框 textarea HTML 实体探求-用 jQuery val()、html()、text()
    取值怎样?
  • 文本框 textarea HTML 实体探求-如何显示其中的 HTML 内容
  • 文本框 textarea HTML
    实体探求-取出其中的内容是怎样的?
  • 文本框 textarea HTML 实体探求-用 jQuery val()、html()、text()
    取值怎样?



前面说了 textarea 在显示内容时,是先执行 HtmlDecode。

jQuery 的 val() 等效于 value,当 textarea
内容改变时,他们会变,都是获得的最新值。

文本框 textarea 对其中的内容是进行 HtmlDecode 之后显示的,也就是说:

那么如果用 JS 取出其中的值,是怎样的呢?

jQuery 的 html() 等效于 innerHTML,当 textarea
内容改变时,他们不会变,他们获得的还是初始值。

  和空格,都是显示为空格。

法一、document.getElementById(“t1”).value

jQuery 的 text() 类似于 innerText,虽然 innerText 仅在 IE 中有效,不过
text() 可在所有浏览器有效,同 innerHTML,当 textarea
内容改变时,他们不会变,他们获得的还是初始值。

< 和 <,都是显示为 <。

使用 value 取值,取出的和我们看到的一样,也就是说也是经过 HtmlDecode
了的。

上面说的改变是指人为改变,就是通过键盘输入,如果是通过程序改变(比如
html()、innerHTML),则都能够取得最新值。

> 和 >,都是显示为 >。

法二、document.getElementById(“t1”).innerText

如果我们试图用 textarea.html(textarea.val()),然后再用
textarea.html(),以取得最新值,是行不通的,因为 textarea.val()
取出的并不是源码,相当于解码之后的,再通过 html()
赋值,显然对应不上。所以还是老老实实地直接用
text.val(),然后再替换其中的:&、<、>、”、’,HTML
实体字符很多,但是最核心的就是这几个。

& 和&,都是显示为 &。

这个只在 IE 中有效,在 Edge、Chrome
中均为零长度字符串,所以不用考虑了。顺带说一下,在 IE(包括 IE 11) 中和
value 效果一样。

关于 value、innerHTML 可参照前一节的内容。

" 和 “,都是显示为 “。

注意并不是 Edge、Chrome 完全不支持 innerText,而是不支持对 textarea
使用,对其他控件,比如 div,则是可以使用 innerText 的。

  • 文本框 textarea HTML 实体探求-如何显示其中的 HTML
    内容
  • 文本框 textarea HTML
    实体探求-取出其中的内容是怎样的?
  • 文本框 textarea HTML 实体探求-用 jQuery val()、html()、text()
    取值怎样?

' 和 ‘,都是显示为 ‘。

法二、document.getElementById(“t1”).innerHTML


© 和 ©,都是显示为 ©。

innerHTML 比较头痛,有点乱,总结了一下:

……

  • <、>、& 及 <、>、& 分别为:<、>、&amp。
  • 空格是空格,  是  。
  • “、’ 及 "、' 分别为:”、’。
  • 文本框 textarea HTML 实体探求-如何显示其中的 HTML 内容
  • 文本框 textarea HTML
    实体探求-取出其中的内容是怎样的?
  • 文本框 textarea HTML 实体探求-用 jQuery val()、html()、text()
    取值怎样?

大概就是:


  • 有一部分始终是实体名称。
  • 有一部分是符号还是实体名称看源码的。
  • 有一部分始终是符号。

相关阅读

  • HtmlEncode、HtmlDecode
    并不处理所有实体字符
  • 再探 jQuery 的
    text()、html()

  • 文本框 textarea HTML 实体探求-如何显示其中的 HTML
    内容

  • 文本框 textarea HTML 实体探求-取出其中的内容是怎样的?
  • 文本框 textarea HTML 实体探求-用 jQuery val()、html()、text()
    取值怎样?

发表评论

电子邮件地址不会被公开。 必填项已用*标注