【问题标题】:Bootstrap5 Modal Uncaught TypeError: 'querySelector' called on an object that does not implement interface ElementBootstrap5 Modal Uncaught TypeError:在未实现接口元素的对象上调用了“querySelector”
【发布时间】:2022-02-01 22:55:46
【问题描述】:

我想使用模态,就像在文档中一样,我以这种方式尝试它

<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>

单击按钮时,我收到此错误“未捕获的 TypeError:在未实现接口元素的对象上调用了'querySelector'”

我做错了什么?

【问题讨论】:

    标签: bootstrap-5


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        我删除了“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();
        

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 2013-11-01
            • 1970-01-01
            • 1970-01-01
            • 2017-08-12
            • 2014-05-22
            • 2014-03-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多