使用Javascript将带有HTML标记的字符串分开

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Javascript将带有HTML标记的字符串分开相关的知识,希望对你有一定的参考价值。

var str = '<h1>Header</h1><p>Paragraph</p>

我有一个字符串str我想分开h1p文本。

结果:

var h = 'Header'
var p = 'Paragraph'

有没有快捷方式?我用for循环试了一下。

答案

在这里,没有字符串操作:

const str = '<h1>Header</h1><p>Paragraph</p>'
const div = document.createElement('div');
div.innerhtml = str;
const [h, p] = [...div.children].map(el=>el.textContent);

console.log(h, p);
另一答案

使用jQuery:

var str = '<h1>Header</h1><p>Paragraph</p>'
var h = $.parseHTML( str )[0].innerText
var p = $.parseHTML( str )[1].innerText
另一答案

试试正则表达式:

var str = '<h1>Header</h1><p>Paragraph</p>';
var result = str.match(/<([w]+)[^>]*>(.*?)</([w]+)[^>]*>/g).map(function(val){
    var pre = val.split('>')[1];
    return pre.substr(0, pre.lastIndexOf('<'));
});
console.log(JSON.stringify(result));

以上是关于使用Javascript将带有HTML标记的字符串分开的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Javascript将事件添加到html标记

带有Javascript onclick事件的HTML锚标记

HTML 带有img标记和JavaScript的SVG图像,用于不支持的浏览器。

仅使用 Javascript 从 HTML 字符串中提取元标记

将单击 javascript 事件应用于 JSP 中的标头,而不是使用 <a> 标记

如何使用 javascript 或 jquery 仅从字符串中获取所有 HTML 标记? [关闭]