JS 将 HTML 字符串转换成数组

Array.prototype.slice.call

在 JavaScript 中 使用 fetch API 将返回的数据转换成text(),其中包含 HTML 字符串节点,下面的代码是将字符串转换成数组后的代码,具体如下:

/**
 * 将 HTML 字符串转换成数组
 * @author 智慧宫
 * @link   https://www.hanost.com
 *
 * @param {*} string
 * @returns {array}
 */
function parseToDOM(string) {
	let div = document.createElement("div");
	if (typeof string == "string") div.innerHTML = string;
	return Array.prototype.slice.call(div.childNodes);
}

如上代码中,首先创建一个<div></div> 标签,然后将 HTML 字符串插入到此标签中,作为子标签,使用childNodes 获取到子节点集合(返回 Nodelist 对象),这是一个类数组对象,必须使用Array.prototype.slice.call将其转换成数组。关于childNodesArray.prototype.slice.call请参考:

  • childNodes——————————–W3school
  • Array.prototype.slice.call——–MDN

如果您觉得有用就请点赞和分享
版权声明: 本文由 智慧宫 整理发表,转载请注明出处

发表评论