javascript - 如何将 html 属性中的 a\n 转义为 js 字符串?

标签 javascript

我正在尝试将换行符从 html 属性传递到 javascriptstring,以便将其应用到文本区域:

<input id="check input" type="checkbox" data-mode2="Varför är det så mycket administration! \n\n">Mer tid att lägga på att träffa barn, istället för administration</input>

string = $('#check').data('hello'+mode);
$('textarea').val(string);

这会将\n 输出为字符而不是新行。

最佳答案

您需要:

  1. 定义您正在使用的数据格式
  2. 解析该数据格式

您可以说数据格式是“纯文本,除了换行符表示为 \n”。

在这种情况下,您可以使用简单的正则表达式替换。

var parsed_string = string.replace(/\\n/g, "\n");
<小时/>

您可能最好使用现有的语言,例如 JSON,它会给您将来更多的选择,并带有预构建的解析器。

var mode = "mode2";
var string = $('#check').data(mode);
var parsed_string = JSON.parse(string);
$('textarea').val(parsed_string);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label><input id="check" type="checkbox" data-mode2="&quot;Varför är det så mycket administration! \n\n&quot;">Mer tid att lägga på att träffa barn, istället för administration</label>
<textarea></textarea>

请注意,我必须将数据包装在 " 字符中才能使其成为有效的 JSON 字符串。

关于javascript - 如何将 html 属性中的 a\n 转义为 js 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44950201/

相关文章:

javascript - 将 javascript/jquery 代码放在多级花括号中可以吗?

javascript - 在动态创建的 DOM 上调用函数

javascript - Selectfield 监听器在 View 初始化时触发

javascript - 从对象的 Knockout observableArray 的第 n 个索引中提取特定字段

javascript - .innerHTML 不会改变数学测验的值

javascript - D3.js map 上的绘图点

javascript - 使用 AJAX 添加 select onchange

javascript - 为什么在 IE8 中 Jquery 插件内设置的选项为 "Null or no object"?

javascript - 按字母顺序对 <li> 元素进行排序

包含某些正则表达式的 JavaScript 缩小失败