javascript - jquery/javascript 在复制文本时保持换行

标签 javascript jquery jquery-selectors

假设我有

<input type="hidden" id="in1">

...

<p id="editable_p"></p>

<script> 
$('#some_button').click( function() {
  $('#in1').val($('#editable_p').text());
});
</script>

显然,我的意图是将隐藏字段的值设置为

标记的内容。这行得通,但是它不保留换行符,这对我来说很重要。是否有一个基本的库函数可以复制维护换行符的可编辑段落的值,或者是否有某种扩展的 hack 必须执行才能使它按我的意图工作?

提前致谢。

最佳答案

您可能会发现您的#editable_p.p 中有许多文本节点,并且根据许多 XML 类型环境调用 text(),只会连接后代树中文本节点中的字符串,可能会丢失结构。这个操作可以对换行符和其他空白做一些奇怪的事情。

为避免这种情况,迭代实际的文本节点,并自行连接字符串,必要时添加\n 行尾。假设您在这方面取得了成功并且字符串带有换行符,我认为 talereader 可能是正确的,可能需要文本区域或类似的东西来表示结果字符串,并将其忠实地提交给服务器。

使用 JQuery 选择文本节点已经在 How do I select text nodes with jQuery?

关于javascript - jquery/javascript 在复制文本时保持换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8580863/

相关文章:

javascript - 如果单击具有相似类的元素,则获取元素属性

javascript - 从 LatLng(或圆圈中的点)算出 LatLng 距离 - Google Maps v3

Javascript:以数组名称的一部分作为参数的函数?

javascript - JavaScript 包装器对象创建是轻量级的吗?

javascript - 为什么在jquery中缓存ID时使用索引0?

javascript - 将单元格值从表格复制到文本框

javascript - 在 JavaScript 中验证输入的电子邮件和密码

javascript - 电台与厂牌合并?

javascript - Jquery如何激活div显示/隐藏

c# - 使用 Javascript 更改级联 DropDownList 值时 MVC 模型中断