Bootstrap5 Modal Uncaught TypeError: 'querySelector' called on an object that does not implement interface Element

Bootstrap5 Modal Uncaught TypeError: 'querySelector' called on an object that does not implement interface Element

我想像在文档中那样使用模式,我以这种方式尝试

<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#staticBackdrop">
  Launch static backdrop modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

单击按钮时出现此错误“未捕获类型错误:'querySelector' 调用了一个未实现接口元素的对象”

我做错了什么?

删除按钮的“data-bs-target="#staticBackdrop”部分解决了问题。我不知道它是什么或为什么会出现,但现在它对我有用。

data-bs-target 和模态框的 id 应该相同,将 data-bs-target 值更改为 #exampleModal 应该可以解决您的问题。

我删除了“data-bs-target”并为我工作,我的代码

按钮,你必须给它分配一个id:

<!-- Button trigger modal -->
  <button id="test" type="button" class="btn btn-primary">
    Launch demo modal
  </button>

模态:

<!-- Modal -->
  <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
          <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
        </div>
        <div class="modal-body">
          ...
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
          <button type="button" class="btn btn-primary">Save changes</button>
        </div>
      </div>
    </div>
  </div>

Javascript:

var myModal = new bootstrap.Modal(document.getElementById("test"));

myModal.toggle();

当我将 data-bs-target 设置为正确的模态 ID 时,我在 Bootstrap 5 中遇到此错误,但模态本身的格式不正确。 modal 父 class 必须至少包含一个 modal-dialog 子元素才能正常工作。