为什么我的 p 标签在 parseHTML 之后被删除了?

Why is my p tags getting stripped out after parseHTML?

我正在使用 summernote,提取文本区域中的内容并尝试保存到数据库中。然而,在保存到数据库之前,我去掉了 img base64 的疯狂并替换了图像标签源。

但是,当我打印出从 textarea 接收到的原始来源时。 var mytext = $('#myid').summernote('code'); 所有显示都很好..显示我的段落和图像(在 base64 中)。

但是,如果我通过 parseHTML 使用 jQuery、运行,并尝试读回数据,我会得到以下结果:

var mymodedtxt = $(mytext).html(); - 我只得到第一段文字(打印到控制台)

$(mytext).children().prop('outerHTML'); - 我只得到了我修改的新路径的第一张图片。

<img src="/path/to/22019_5859a7b13a78c.jpeg" />

在打印这些之前,我正在修改我的图像路径。我只是这样做的:

var i = 0;
$(mytext).find('img').each(function() { 
    $(this).attr('src',newpath[i]);
    i++;
}); 

有人知道是什么原因造成的吗?为什么我的 p 标签被删除了?

当您对 jQuery 集合调用 .html() 时,它只会 returns 集合中第一个元素的 HTML。

您应该做的是将 HTML 字符串包装在容器元素中,例如一个DIV,然后得到它的HTML:

var mymodedtxt = $("<div>", { html: mytext }).html();