使用隐藏输入中的换行符存储文本

时间:2011-08-05 20:38:45

标签: jquery html input line-breaks

我想将div的任何非隐藏部分的文本输出存储在隐藏的输入文本字段中。但是,div包含<br/>标记,并且不存储这些标记。

我用来在输入中存储div的代码是:

function updateHidden()
{
    var clone = $('#coverSample').clone()
                        .appendTo('body')
                        .find(':hidden')
                        .remove()
                        .end()
                        .remove();

    //var content = clone[0].outerHTML || 
    var myText = clone.html();
    $("#coverToSubmit").val(myText);

    //$('<div>').append(clone).html();
} 

如何确保换行符也存储在输入中?

3 个答案:

答案 0 :(得分:4)

使用jquery data方法存储与dom元素关联的数据。

答案 1 :(得分:2)

你为什么不这样做:

var myText = clone.html();
$("body").data("coverToSubmit", myText);

然后,使用

$("body").data("coverToSubmit");

提取数据

答案 2 :(得分:0)

我相信这是因为你正在使用clone()。为什么不做var clone = $('#coverSample').html()?这也应该保存HTML标签。

更新:以下是工作的小提琴:http://jsfiddle.net/Mt444/