gpt4 book ai didi

jquery - 而不是 Angularjs 中的 $.closest

转载 作者:行者123 更新时间:2023-11-30 23:59:00 25 4
gpt4 key购买 nike

我想在指令中实现此代码,但在 jQLite 中这不起作用,应该如何完成?

 var thisCell = element.closest('.sampleclass');

最佳答案

Firefox 和 Chrome 中有一个 .closest 的实验版本,如 MDN - Element.closest() 所示。

考虑到这一点,你可以写这样的东西

var elm = document.querySelector('.myClass').closest();

或使用angular.element

var elm = angular.element(document.querySelector('.myClass').closest());

当然,规则总有异常(exception)(又名 IE),对于它们,您可以使用 Polyfill,它也显示在 MDN - Element.closest() 上。

if (window.Element && !Element.prototype.closest) {
Element.prototype.closest =
function(s) {
var matches = (this.document || this.ownerDocument).querySelectorAll(s),
i,
el = this;
do {
i = matches.length;
while (--i >= 0 && matches.item(i) !== el) {};
} while ((i < 0) && (el = el.parentElement));
return el;
};
}

我通过执行这行代码成功地使用了它来获取最接近的元素名称形式(它在 IE 中与 Polyfill 一起工作:

var form document.querySelector('[name="elmName"]').closest("form");

关于jquery - 而不是 Angularjs 中的 $.closest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35271952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com