提取文本中div的id名

<script>

var content="<div id='0'></div><div id='1'></div><div id='2'></div><div id='3'></div>"

</script>

js通过什么方法能把字符串中所有div的id名称提取成一个数组如:
data:[{"id":0},{"id":1},{"id":2},{"id":3}]

阅读 2.3k
1 个回答

两个思路:
1、将串作为innerHTML(注意如果不可控的串,应该过滤不安全标签比如script等)属性赋值到一个游离节点,然后取该节点子元素的id组成列表。
2、正则表达式

function getIds (content) {
  let reg = /(?<=id=')(.*?)'/g
  let matchList = content.match(reg)
  if (!matchList) return []
  return matchList.map(id => ({ id }))
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题