高效提取html字符串中指定属性值的方法
在前端开发中,经常需要从HTML字符串中提取特定属性值。本文将演示如何从包含多个标签的HTML字符串中,根据指定的键获取对应的值。例如,如何从一段HTML字符串中提取特定标签的userId属性值?
假设我们有如下HTML字符串:
用户98771111
我们需要一个函数,传入键(例如'userId'),返回对应的值(例如'26411b3a-91b1-4eee-bd16-c135e827b7ee')。
可以使用DOMParser将HTML字符串解析成DOM树,然后通过DOM操作获取属性值。
立即学习“前端免费学习笔记(深入)”;
以下是一个JavaScript函数,利用DOMParser实现此功能:
function getValue(html, attr) {
const parser = new DOMParser();
const dom = parser.parseFromString(html, 'text/html');
if (!dom) {
return '';
}
const el = dom.querySelector(`[${attr}]`);
if (!el) {
return '';
}
return el.getAttribute(attr);
}
let htmlString = '用户98771111';
let userId = getValue(htmlString, 'userId');
console.log(userId); // 输出: 26411b3a-91b1-4eee-bd16-c135e827b7ee
此代码首先创建一个DOMParser实例,然后使用parseFromString方法将HTML字符串解析为DOM树。querySelector方法选择具有指定属性的元素,getAttribute方法获取属性值。代码包含错误处理,如果解析失败或找不到指定属性,则返回空字符串。调用getValue(htmlString, 'userId')即可获取userId属性值。












