带有onclick的Javascript innerHTML不起作用

标签 javascript html dom

我有一些 AJAX,它提取以下内容,添加到 div使用 innerHTML .

<a href="#" onclick="javascript:document.getElementById('textareax').value += '\r\nTEST';">Add</a>

然后当我按下“添加”链接时,它会将“TEST”添加到 textareax 中.

如果我从一开始就把它放在文档的 HTML 中,它就可以完美地工作,但是当我使用 AJAX 和使用 innerHTML 将它拉入时将其添加到 div “添加”链接不起作用。

我认为这可能是个问题,因为它里面有 javascript,我只是使用 innerHTML 添加它。 ,但不知道如何解决这个问题。

最佳答案

\r\n 是换行符,但已被 JavaScript 解析innerHTML 将设置为:

<a href="#" onclick="javascript:document.getElementById('textareax').value += '
TEST';">Add</a>

这不起作用(语法错误;JavaScript 字符串不能有文字换行符)。

你需要用 \\r\\n 进行两次转义,这样它在被 JavaScript 解析时变成 \r\n (\\ 变为 \r 将不受影响)。然后 \r\n 将保留在 onclick 处理程序中,以便确实将换行符添加到文本区域:http://jsfiddle.net/r6bhE/ .

关于带有onclick的Javascript innerHTML不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8155669/

相关文章:

javascript - 重新计算每个 Bootstrap 轮播幻灯片上相同的 javascript 变量

javascript - 为什么此 SVG 中的渐变显示为黑色?

Javascript 为什么单击事件监听器会触发上一张图像?

javascript - 使用 MSXML 2.0 执行 XSLT 转换

javascript - 文本幻灯片在前 2 秒内相互堆叠

javascript - 无法在 HTML 页面中嵌入谷歌趋势图

javascript - jQuery 父元素内部 HTML

javascript - 扩展数组的问题

JavaScript 对象数组 : Removing objects with duplicate properties

jquery - 表单外使用的提交按钮