我正在使用summernote,取出textarea中的内容并尝试保存到数据库。但是在保存到数据库之前,我正在剥离img base64疯狂并替换图像标记源。
但是,当我打印出从textarea收到的原始来源时。所有显示正常的var mytext = $('#myid').summernote('code');
..显示我的段落和图像(在base64中)。
但是,如果我使用jQuery,通过parseHTML运行,并尝试回读数据,我得到以下结果:
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标签被剥离了?
答案 0 :(得分:1)
当你在jQuery集合上调用.html()
时,它只返回集合中第一个元素的HTML。
你应该做的是将HTML字符串包装在容器元素中,例如a DIV
,然后获取其HTML:
var mymodedtxt = $("<div>", { html: mytext }).html();