【问题标题】:querySelectorAll can't find the element with custom attributequerySelectorAll 找不到具有自定义属性的元素
【发布时间】:2019-12-10 12:46:38
【问题描述】:

更新:我在原始 html/js 中测试了此代码,它可以正常工作,如 cmets 中所述。这是 React App 的一部分,我想问题应该在于应用程序如何加载这部分代码。但是对于选择其他元素,它工作正常。

我正在尝试从包含 contenteditable 属性且设置为 true 的网页中选择所有元素,但 querySelectorAll 返回 NodeList of 0 个元素

HTML(来自编辑器组件):

<div class="codex-editor">
   <div class="codex-editor__redactor" style="padding-bottom: 300px;">
       <div class="ce-block">
         <div class="ce-block__content">
           <h2 class="ce-header" contenteditable="true" data-placeholder="">Editor.js</h2>
         </div>
       </div>
   </div>
</div>

JavaScript

useEffect(() => {
    let matches = document.body.querySelectorAll('[contenteditable=true]'); 
    console.log(matches)
})



 return (
  <Editor
       tools={{
         header: Header,
         list: List,
         image: Image,
         delimiter: Delimiter
       }}
      holder="guest-editorjs"
      onChange={(data) => console.log(data)}
      onReady={() => console.log('Start!')}
      data={{data}} />
    )

控制台中的结果:空 NodeList

【问题讨论】:

标签: javascript reactjs


【解决方案1】:

解决方案:此代码在原始 html/js 中运行良好。问题在于 React 加载子组件,这就是内容无法访问的原因。

谢谢大家!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多