复制文本时jquery / javascript维护换行符

时间:2011-12-20 19:30:58

标签: 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>

显然,我的目的是将隐藏字段的值设置为&lt; p&gt;的内容。标签。这可行,但它不保持换行符,这对我来说很重要。是否有一个基本的库函数可以复制维护换行符的可编辑段落的值,或者是否存在必须执行的某种扩展黑客以使其按照我的意图工作?

非常感谢。

1 个答案:

答案 0 :(得分:3)

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

为了避免这种情况,迭代实际的文本节点,并自己连接字符串,根据需要添加行结尾。假设你已经成功完成并且字符串有换行符,我认为talereader可能是正确的,可能需要textarea或类似的来表示结果字符串,并忠实地提交给服务器。

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