【问题标题】:Why is my p tags getting stripped out after parseHTML?为什么我的 p 标签在 parseHTML 之后被剥离?
【发布时间】:2017-05-06 05:50:53
【问题描述】:

我正在使用summernote,提取文本区域中的内容并尝试保存到数据库。然而,在保存到数据库之前,我将去除 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 标签被剥离了?

【问题讨论】:

    标签: jquery tags paragraph


    【解决方案1】:

    当您在 jQuery 集合上调用 .html() 时,它只返回集合中第一个元素的 HTML。

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

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

    【讨论】:

    • 谢谢伙计!我很感激。不是很直观,但我不是 jquery 大佬 ;) - 投票!
    • 大多数返回信息的jQuery函数只从集合的第一个元素返回。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2012-01-08
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多