Javascript 如何在传入的动态文本中插入Html标记

Javascript 如何在传入的动态文本中插入Html标记,javascript,html,css,dynamic-text,Javascript,Html,Css,Dynamic Text,我有一些来自动态生成的数据库的传入文本,它被放入一个div中,我将其称为: <div id="dynamicText"> ${dataBase.text} </div> 我数句子没有问题,我遇到的障碍是把p标签放进输入的文本中。我尝试使用insertAdjacentHTML()但是我得到一个uncaughttypeerror:无法读取null的属性“insertAdjacentHTML”错误 关于如何做到这一点,或者是否可以做到这一点,有什么想法吗?瞧 根据以下方面的答

我有一些来自动态生成的数据库的传入文本,它被放入一个div中,我将其称为:

<div id="dynamicText"> ${dataBase.text} </div>
我数句子没有问题,我遇到的障碍是把p标签放进输入的文本中。我尝试使用
insertAdjacentHTML()
但是我得到一个
uncaughttypeerror:无法读取null的属性“insertAdjacentHTML”
错误

关于如何做到这一点,或者是否可以做到这一点,有什么想法吗?

根据以下方面的答复: 及

我已经创造了一个我认为是可行的解决方案。我将整个字符串(database.text)拆分成和数组中的phrazes,然后创建8个phrazes的块,最后将它们附加到包装器中

const wrapper = document.querySelector('.wrapper')

const text = `... your stringified content`

const array = text.replace(/([.?!])\s*(?=[A-Z])/g, "$1|").split("|")

function chunker(array, chunkSize) {
  console.log(array)
  return [].concat.apply([],
    array.map(function(el, i) {
      return i % chunkSize ? [] : [array.slice(i, i + chunkSize)];
    })
  );
}

const paragraphs = chunker(array, 8)

paragraphs.forEach((el) => {
    const p = document.createElement('p')
  p.innerText = el
  wrapper.append(p)
})

下面是我为您准备的一个JSFIDLE:

我很困惑。目前你匹配句子,但不做任何事情。在您发布的代码中,
count
在您完成匹配后不会用于任何用途。您讨论的
insertAdjacentHTML()
也没有提及。我没有使用
count
做任何事情的原因是,在我能够匹配句子之后,我遇到了一些问题,无法确定如何在文本中插入p标记,并根据匹配的
count
将其分解为段落。是哪个mkbctrl能找出那部分的。我没有包括
insertAdjacentHTML()
,因为我提出的那部分代码不起作用。
const wrapper = document.querySelector('.wrapper')

const text = `... your stringified content`

const array = text.replace(/([.?!])\s*(?=[A-Z])/g, "$1|").split("|")

function chunker(array, chunkSize) {
  console.log(array)
  return [].concat.apply([],
    array.map(function(el, i) {
      return i % chunkSize ? [] : [array.slice(i, i + chunkSize)];
    })
  );
}

const paragraphs = chunker(array, 8)

paragraphs.forEach((el) => {
    const p = document.createElement('p')
  p.innerText = el
  wrapper.append(p)
})