Javascript如何将纯文本html元素拆分为数组?

Javascript如何将纯文本html元素拆分为数组?,javascript,html,plaintext,Javascript,Html,Plaintext,若我有一个包含html元素的字符串,那个么创建同级html元素数组的有效方法是什么 尝试将indexOf与开头标记的第一个字母一起使用“我相信这就是您要做的 <div id="container"> <div>child 1</div> <div>child 2</div> <div>child 3</div> </div> <script type="

若我有一个包含html元素的字符串,那个么创建同级html元素数组的有效方法是什么


尝试将indexOf与开头标记的第一个字母一起使用“我相信这就是您要做的

  <div id="container">
    <div>child 1</div> 
    <div>child 2</div> 
    <div>child 3</div> 
  </div>
  <script type="text/javascript">
      let elements = [], container = document.getElementById("container");
      for(let i = 0; i < container.children.length; i++){
          elements.push(container.children[i].outerHTML);
      }
      console.log(elements);
</script>

儿童1
儿童2
儿童3
让元素=[],容器=document.getElementById(“容器”);
for(设i=0;i
使用正则表达式和js拆分方法,我们可以提取

检查我的代码

let a = `<p>Hello there</p><p>How r you?</p>

<h1>Thank you</h1>`
let b = a.split(/<[a-zA-Z0-9]*>([^<.*>;]*)<\/[a-zA-Z0-9]*>/gmi).filter(x=>x.trim() !== '')
console.log(b) //['Hello there', 'How r you?', 'Thank you']
a=`你好

你好吗

多谢各位` 设b=a.split(/([^;]*)/gmi.filter(x=>x.trim()!='') console.log(b)/[“你好”,“你好吗?”,“谢谢”]
您可以使用正则表达式来解决此问题

使用正则表达式查找所有开始和结束标记,并替换为“/”(其他内容),然后拆分它,然后使用过滤器(布尔值)过滤(“”)

代码:

var elements=[],container=document.getElementById(“container”);
对于(设i=0;i|$)/g,”);
}
log(“plainTextArray=”,elements);
让bodyHtml=document.getElementsByTagName('div')[“0”].innerHTML;
让plainTextArray=bodyHtml.replace(/]+(>|$)/g,“/”).split(“/”).filter(布尔值)
log('plainTextArray=',plainTextArray);

你好

谢谢
您可以这样使用以从子元素获取所有文本

let nodeList=document.getElementById('stack').querySelectorAll('*');
让列表=[];
节点列表forEach(函数(val){
list.push(val.outerHTML)
})
console.log(列表);

你好

非常感谢。
非常感谢,伙计!谢谢你,我的朋友,但是html元素是纯文本的,我认为它们不是dom元素,我仍然感谢你的努力啊,现在我明白你所说的“包含html元素的字符串”是什么意思了。“:)很高兴Arshpreet的回答似乎对你有用。非常感谢你,但是元素是纯文本的,不是dom元素,但无论如何还是要感谢你
let a = `<p>Hello there</p><p>How r you?</p>

<h1>Thank you</h1>`
let b = a.split(/<[a-zA-Z0-9]*>([^<.*>;]*)<\/[a-zA-Z0-9]*>/gmi).filter(x=>x.trim() !== '')
console.log(b) //['Hello there', 'How r you?', 'Thank you']