我有一个段落,我想使用javascript prompt
函数进行编辑。
当我没有输入<
或>
时,一切正常。它们在html中看起来不错,但是当我想再次编辑它们时,我看到丑陋的>
和<
通过以下方案可以轻松复制这些问题:
<<<>>>
。您将在对话框中看到丑陋的提示符号。
在提示对话框中出现丑陋的未转义符号。
实际上在将innerHTML传递给提示函数之前我应该解除转义字符,怎么可以这样做呢?
我的部分代码如下:
<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解决方案也在为我提供。
谢谢!
答案 0 :(得分:4)
如果你真的只想要文本内容,那么你应该使用文本值而不是innerHTML属性。
在jQuery中你可以这样做:
var paragraph = $("#par");
var stringValue = paragraph.text();
stringValue = prompt( "Please ammend your text", stringValue );
paragraph.text( stringValue );