代码之家  ›  专栏  ›  技术社区  ›  sergtk

如何获得一致的javascript提示字符串和innerhtml

  •  0
  • sergtk  · 技术社区  · 14 年前

    我有一个段落,我想用javascript编辑它 prompt 功能。 我没进去的时候一切都正常 < > . 它们在HTML中看起来很好,但是当我想再次编辑它们时,我发现它们很难看。 &gt; &lt;

    这些问题可以通过以下场景轻松重现:

    1. 按编辑按钮,
    2. 输入字符串 <<<>>> .
    3. 再次按下编辑按钮。

    您将在对话框中看到难看的提示符号。

    在提示对话框中会出现难看的未转义符号。

    实际上,在将innerhtml传递给prompt函数之前,我应该取消转义字符,如何才能做到这一点?

    我的部分代码如下:

    <script type="text/javascript">
      function edit()
      {
        str = document.getElementById('par').innerHTML;
        str = prompt(str, str);
        document.getElementById('par').innerHTML = str;
      }
    </script>
    
    
    <p id="par">aaa</p>
    
    <input type="button" onclick="edit()" value="Edit" />
    

    我更喜欢API函数而不是手动替换 gt; &书信电报; .
    jquery解决方案也在为我穿插。

    谢谢!

    1 回复  |  直到 14 年前
        1
  •  4
  •   Geoff    14 年前

    如果您真的只需要文本内容,那么应该使用文本值,而不是innerhtml属性。

    在jquery中,您可以这样做:

    var paragraph = $("#par");
    var stringValue = paragraph.text();
    stringValue = prompt( "Please ammend your text", stringValue );
    paragraph.text( stringValue );