js 将html字符串转换成node节点三种方式

1、innerHTML
<script>
 function createNode(txt) {
  const template = `<div class='child'>${txt}</div>`;
  let tempNode = document.createElement('div');
  tempNode.innerHTML = template;
  return tempNode.firstChild;
 }
 const container = document.getElementById('container');
 container.appendChild(createNode('hello'));
</script>
2、 DOMParser
function createDocument(txt) {
  const template = `<div class='child'>${txt}</div>`;
  let doc = new DOMParser().parseFromString(template, 'text/html');
  let div = doc.querySelector('.child');
  return div;
 }
  
 const container = document.getElementById('container');
 container.appendChild(createDocument('hello'));
3、 DocumentFragment

	DocumentFragment 对象表示一个没有父级文件的最小文档对象。
	它被当做一个轻量版的 Document 使用,用于存储已排好版的或尚未打理好格式的XML片段。
	最大的区别是因为DocumentFragment不是真实DOM树的一部分,它的变化不会引起DOM树的重新渲染的操作(reflow) ,且不会导致性能等问题。
	
function createDocumentFragment(txt) {
  const template = `<div class='child'>${txt}</div>`;
  let frag = document.createRange().createContextualFragment(template);
  return frag;
 }
 
 const container = document.getElementById('container');
 container.appendChild(createDocumentFragment('hello'));
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Node-RED 是一个基于流程编程的工具,可以通过拖拽节点来构建工作流。在 Node-RED 中,JSON(JavaScript Object Notation)字符串是一种常见的表示数据的格式,使用 JSON 格式的数据可以方便地在不同的系统之间传递和解析。 在 Node-RED 中解析 JSON 字符串可以使用 JSON 节点。该节点可以接收一个 JSON 格式的字符串,并将其换为 JavaScript 对象或数组。使用 JSON 节点的步骤如下: 1. 将 JSON 字符串输入到 JSON 节点中。 2. 配置 JSON 节点的选项,例如选择将 JSON 字符串转换成 JavaScript 对象还是数组。 3. 连接 JSON 节点的输出到下一个节点,以便对解析后的数据进行处理。 例如,假设有一个 JSON 字符串如下: ```json { "name": "张三", "age": 30, "hobbies": ["篮球", "足球", "游泳"], "address": { "province": "广东省", "city": "深圳市", "district": "南山区" } } ``` 可以使用 JSON 节点将其换为 JavaScript 对象,并在下一个节点中输出姓名和年龄信息。步骤如下: 1. 将 JSON 字符串输入到 JSON 节点中。 2. 在 JSON 节点中选择 "As a Parsed JSON object" 选项,以将 JSON 字符串换为 JavaScript 对象。 3. 连接 JSON 节点的输出到下一个节点。 4. 在下一个节点中使用 Function 节点,编写 JavaScript 代码来获取姓名和年龄信息,并输出结果。例如: ```javascript msg.payload = "姓名:" + msg.payload.name + ",年龄:" + msg.payload.age; return msg; ``` 这样,就可以将姓名和年龄信息提取出来,并输出结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值