【问题标题】:html special symbols is displayed as charactershtml特殊符号显示为字符
【发布时间】:2013-09-13 06:49:23
【问题描述】:

我一直在尝试使用 JS 动态设置文本输入的内容,我遇到的问题是我不能让浏览器呈现特殊符号而不是字符,例如

document.getElementById("textField").value = "nbsp";

它不是显示一个空间而是显示 &nbsp,有人知道吗?

非常感谢

【问题讨论】:

  • @shadow:这不是他想要的。他希望在文本字段中输入特殊字符,在这种情况下,它是一个不间断的空格。他不想要它的 HTML 实体。
  • 问题中的代码没有描述的效果。你真的是指"&nbsp" 而不仅仅是"nbsp"

标签: javascript html htmlspecialchars


【解决方案1】:

您似乎想在 JavaScript 字符串文字中输入特殊字符,例如 NO-BREAK SPACE。您可以直接执行此操作,前提是正确声明包含 JavaScript 代码的文件的 character encoding,因为无论如何都应该声明:

document.getElementById("textField").value = ' ';

这里撇号之间的字符是真正的 NO-BREAK SPACE 字符。在渲染中,它通常与普通的 SPACE 没有区别,但它具有不同的效果。同样,您可以编写例如

document.getElementById("textField").value = 'Ω';

直接使用希腊字母大写 omega。

如果您不知道如何输入这些字符(例如,通过 Windows CharMap 程序)或者您无法控制字符编码问题,您可以使用 JavaScript Unicode escape notations 输入字符,例如

document.getElementById("textField").value = '\u00A0'; // no-break space

document.getElementById("textField").value = '\u03A9'; // capital omega

对于 Unicode 数字小于 0x100 的小字符集,您也可以使用 \x 转义符,例如'\xA0' 而不是 '\u00A0'。 (但如果你不知道这一点,最好学会使用通用的\u转义。)

【讨论】:

    【解决方案2】:

      是一个 HTML 实体,您不能将 HTML 实体放在这样的文本字段中。


    尝试使用 unicode,如下所示:

    document.getElementById("textField").value = '\xA0';
    

    【讨论】:

      【解决方案3】:

      使用 jquery 和这个怎么样:

      $("#textField").html('&nbsp').text()
      

      或者更笼统地说:

      $(element).html(encodedString).text()
      

      【讨论】:

        【解决方案4】:
        document.getElementById("textField").value = " ";
        

        【讨论】:

          【解决方案5】:

          您应该使用“ ”而不是“nbsp”

          【讨论】:

          • 角度符号怎么样?箭头呢?我该如何输入? &nbsp 仅作为示例,我试图说明问题
          • &(和号)变为 & " (双引号) 变为 " ' (单引号) 变为 ' (大于) 变为 > 您需要将每个字符转换为其特定的 HTML 条目您可以使用简单的 php function htmlspecialchars() 用于将特殊字符转换为 html 条目的函数。或者您可以使用
             标签来显示该标签内写入的所有字符。
          • 会不会比只做 $(element).html(encodedString).text() 更容易?
          • 有几种方法可以做一件事情,这取决于你喜欢哪种方式
          猜你喜欢
          • 2019-04-22
          • 2013-11-21
          • 2016-12-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-19
          • 2013-03-21
          • 2013-06-19
          相关资源
          最近更新 更多