我有一些来自动态生成的数据库的传入文本并将其放入 div 中,我将其命名为:
<div id="dynamicText"> ${dataBase.text} </div>
我想要做的是根据完整句子的数量在 database.text 中动态放置 p 标签。例如,在 database.text 的第一行之前,我们有一个起始 p 标签,然后在第 8 个完整的句子之后,我们有一个结束 p 标签。然后每 8 句重复一次。
这是我用来计算出现句子数量的表达式:
/\w[.?!](\s|$)/g
最终,这是我迄今为止在 ajax 请求中的简化代码:
/* The reg expression for counting sentences */
let re;
re = /\w[.?!](\s|$)/g
const dataBase = JSON.parse(this.responseText);
/* Pull the text out the database object for counting sentences */
const dataBaseString = dataBase.text;
/* Count the number of senteces */
let count = (dataBaseString.match(re) || []).length;
const output = `
<div class="ajaxText">
${dataBase.text }
</div>
`;
document.getElementById('dynamicText').innerHTML = output;
我计算句子没有问题,我遇到的障碍是将 p 标签放入传入的文本中。我尝试使用insertAdjacentHTML()
,但出现Uncaught TypeError: Cannot read property 'insertAdjacentHTML' of null
错误。
关于如何做到这一点的任何想法,或者是否可以做到这一点?