嘿伙计们,我想知道是否有计划在 jsdom 中支持Element.closest()
?
没有计划支持不存在的 Element.closest。 Element.prototype.closest,但是,我们将来可能会尝试支持。 拉取请求将是推进工作的最佳方式。
@domenic Element.prototype.closest
与我上面链接的不同吗? 除了那篇之外,找不到相应的 MDN 文章。
我认为这只是 MDN 令人困惑。 但是,如果您查看任何浏览器(或规范), Element.closest === undefined
,而Element.prototype.closest
是一个函数。
哦好的。 我确定你不是故意的,但你最初的回应让我觉得自己像个菜鸟,因为不知道其中的区别,我希望这不能代表这个社区。 我将尝试深入研究 jsdom 代码,看看我是否足够理解以做出贡献。
不幸的是,我目前没有时间深入研究和理解 jsdom 代码库,但以下代码段是全部需要的。
window.Element.prototype.closest = function (selector) {
var el = this;
while (el) {
if (el.matches(selector)) {
return el;
}
el = el.parentElement;
}
};
也许已经在该项目上工作的人可以把它放在适当的地方。
由于那个现在被关闭了,有https://github.com/tmpvar/jsdom/pull/1951
它仍然不在 jsdom 中,对吧?
这已通过在 v11.12.0 中合并https://github.com/jsdom/jsdom/pull/1951来修复 🎉
最有用的评论
不幸的是,我目前没有时间深入研究和理解 jsdom 代码库,但以下代码段是全部需要的。
也许已经在该项目上工作的人可以把它放在适当的地方。