【发布时间】:2019-01-25 13:37:47
【问题描述】:
谁能帮我解决这个问题?
我有一个包含一堆段落元素的 HTML 文档,我想在它的开头放置一个元素。内容由用户创建,例如使用 WYSIWYG 编辑器。
例如:
<p>Some text was written here</p>
<p>and here</p>
<p>and here</p>
应该变成:
<p><span></span>Some text was written here</p>
<p><span></span>and here</p>
<p><span></span>and here</p>
有没有办法用 ReactJS 做这样的事情,因为我不能直接修改 DOM ?
【问题讨论】:
-
这听起来不像是 React 的有效用例,即使 React 可以做到这一点,你最好还是使用原生 JavaScript:
const pTags = document.querySelectorAll('p');for (let i = 0; i < pTags.length - 1; i++) { pTags[i].prepend(document.createElement('span')); } -
ReactJs 建议不要在其范围之外操作 DOM。这将阻止 react 跟踪 DOM 树并因此正确更新它
标签: javascript html reactjs dom