jQuery 中取 <input type="button" 与 <button 的文字有什么不同?val()、text()、html() 区别

作者:vkvi 来源:ITPOW(原创) 日期:2019-5-14

两个都是 button,展现效果也一样,不过取它们的按钮文字可不一样,第一个用 text() 或 html() 取,第二个用 val() 取。

那么使用 text() 与 html() 有什么区别呢?

如果按钮是:

  • 使用 text() 获得的是:1&
  • 使用 html() 获得的是:1&amp;

可以看出 text() 是忠实于源码的,html() 是根据浏览器加工后获取的。注意这个结论适用范围并不广。再看看:

  • 使用 text() 获得的是:1&123
  • 使用 html() 获得的是:1&amp;<b>123</b>

也就是说它们对 & 与 <> 处理是不同的,将 button 标签换成 div 也是一样的。

text(s)、html(s) 赋值时有什么不同呢?

如果 s 中有 HTML 标签:

  • text() 并不是去除 HTML 标签(这和取值不同),而是为了让用户看到的和 s 一样。
  • html() 则是原样赋值,这样 s 中的 HTML 代码就会被浏览器解析。
相关文章