Bootstrap 5 popover,如何查找特定popover的索引

问题描述 投票:0回答:1

所以我在页面上有几个 bootstrap 5 弹出窗口,使用下面的代码启动。

let popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
let popoverList = popoverTriggerList.map(function(e){return new bootstrap.Popover(e)};

我现在想关闭其中一个(如果以编程方式打开的话),我可以使用

来做到这一点
popoverList[x].hide();

一切正常。 问题是如何找到给定弹出窗口的 x(索引)?

我已经接近这个目标了,但仍然不明白如何找到元素

 $.each(popoverList, function (i, v) {
    console.log(i, $(v._element).find('[aria-describedby="02-6423"]'));
});

这是弹出窗口的 HTML

<button type="button" class="btn btn-xs btn-warning"
        data-bs-custom-class="popover-secondary"
        data-bs-toggle="popover"
        data-bs-placement="top"
        data-bs-html="true"
        data-bs-content="<p><input type='text' class='form-control form-control-sm' value='0'></p><div class='d-flex justify-content-between'><button type='button' class='btn btn-sm btn-label-secondary popover-dismiss'>Cancel</button><button type='button' class='btn btn-sm btn-primary'>Save</button></div>"
        data-bs-original-title="Modify Item Price"
        aria-describedby="02-6423">
    <i class="bx bx-edit-alt"></i>Change
</button>
twitter-bootstrap popover
1个回答
0
投票

好吧,我就是这样工作的,但如果有人有更好的解决方案,请告诉我。

$.each(popoverList, function (i, v) {
    if ($(v._element).parent().find('[aria-describedby="02-6423"]')) {
        popoverList[i].hide();
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.