如何传递带有一个或多个嵌入的新行代码的字符串
How do I pass a string with one or more embedded new line codes?
我正在维护一个函数,该函数在DOM上创建一个元素,其中onclick
事件‡设置为传递给该函数的参数。它的工作原理与此非常相似:
var msg="Hi there'nGood to see you",
returnElement=function(message) {
document.getElementById("manipulate_me").innerHTML='<span onClick="alert('''+message+''');">click me and I throw a JavaScript error</span>';
};
在包含<div id="manipulate_me">Gets replaced</div>
的HTML页面上,执行returnElement(msg);
会导致此错误(参见http://jsfiddle.net/jhfrench/HetQD/):
Uncaught SyntaxError: Unexpected token ILLEGAL
当我检查DOM时,我看到以下内容(注意alert()
中的新行):
<span onclick="alert('Hi there
Good to see you');">click me and I throw a JavaScript error</span>
如何传递带有一个或多个嵌入的新行代码的字符串?
事项:
- 我正在开发一个最近升级到IE8的封闭系统。
- 因为这个模板在整个系统中使用,用jQuery增加代码是不可能的
‡-我知道,我知道,"维护",而不是"写"
您可以简单地对'n
进行双转义来完成此操作:
var msg="Hi there'nGood to see you'nAlways a pleasure",
returnElement=function(message) {
document.getElementById("manipulate_me").innerHTML='<span onClick="alert('''+message.split("'n").join("''n")+''')+''');">click me and I throw a JavaScript error</span>';
};
returnElement(msg);
这是更新后的jsfiddle: http://jsfiddle.net/HetQD/15/
相关文章:
- 如何从rails中的代码中删除新行( )
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 如何在脚本上添加新行
- 在不刷新整个网格的情况下,向Asp.net网格视图添加新行
- 字符串中的
标记未正确在 HTML 中创建新行 - JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 反应中的新行
- 阻止ReSharper将JavaScript函数参数放到新行中
- HTML表内容:如果行很长,如何在新行中显示部分内容
- dhtmlx添加新行并启动单元格编辑器
- 将新行打印到$mdToast
- 在新行(html)中动态添加更多文本字段
- 用于在表中添加行的Javascript代码将单元格中的数据复制到新行中
- Razor代码在JavaScript字符串中创建新行
- 检测代码镜像中的新行,而不覆盖 Enter 键的默认行为
- 删除字符串中javascript代码中的新行
- 添加新行时,jQuery代码不起作用
- 为什么这行代码没有打开一个新选项卡?
- Javascript代码突出显示新行和缩进
- 如何传递带有一个或多个嵌入的新行代码的字符串