jquery dom对象到字符串

Posted

技术标签:

【中文标题】jquery dom对象到字符串【英文标题】:jquery dom object to string 【发布时间】:2015-12-24 16:31:57 【问题描述】:

我有一个包含 html 文件内容的文本区域。 textarea内容包括我整个html页面内容,包括doctype、head、html等。

现在,我想通过 $.parseHTML 将 textarea 保存到一个 dom 变量中:

var txt = $.parseHTML($("textarea").val(), null, true);

接下来,我使用以下命令更改我的 txt 变量和 dom 元素:

$(txt).find("h1").text("demo");
$(txt).find("h2").text("demo h2");

更改 txt dom 后,我想将 txt 作为字符串放回 textarea,但似乎没有任何效果。我已经试过了:

$("textarea").val($(txt).html());

$("textarea").val(txt.html());

我也试过循环 dom:

$.each($(txt).get(),function()
    v = $("textarea").val();
    $("textarea").val(v+$(this)[0].outerHTML);
);

但这并没有给出预期的结果,因为 body 标签之外的项目还没有翻译回来。

任何建议都将得到极大的赞赏

【问题讨论】:

试试JSON.stringify($("textarea").val(v+$(this)[0].outerHTML)); 对于 这样的文本给出“未定义” @sd1sd1 只是为了澄清您的问题,您的文本区域是否包含需要保存为变量的 HTML 文件 我的 textarea 包含我要修改的 html 文件的内容,然后再次保存文件 【参考方案1】:
var txt = $('#textarea').val();
var html = $('<div class="wrap">'+txt+'</div>');
$('h1', html).text('is H1');
$('h2', html).text('is H2');
$('#textarea').val(html.html());`

【讨论】:

您能否为您的答案添加一个简短的解释?

以上是关于jquery dom对象到字符串的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中将html字符串转化为Jquery对象或者Dom对象

jQuery之核心函数

jQuery 在附加到 DOM 之前从元素中生成变量

jQuery操作DOM知识总结

jQuery学习手册

03-对JQuery对象的属性,特性以及数据的操作