gpt4 book ai didi

dart - 等于Dart中最接近的,特别是DartPolymer?

转载 作者:行者123 更新时间:2023-12-03 03:02:13 26 4
gpt4 key购买 nike

我试图找出一种方法来执行类似于jquery的最接近的功能。例如:

$("a.test").nearest(".group-parent");

但是 Dart 。

我正在查看HtmlElement类,看是否有一种方法可以执行上述操作,但没有找到任何真正可以沿树行走的方法,直到找到选择器(或null等)为止。

是否有可以利用的东西来做这样的事情?

我当时正在考虑创建一个函数,该函数将遍历 parent 直到 parent = null(或文档的任何返回值)为止。
HtmlElement findNearestClass(HtmlElement node, String classString){
if (node == null) return null;
if (node.classes.contains(classString)) return node;
return findNearestClass(node.parent, classString);
}

最佳答案

与Gunter讨论后,我们确定了以下内容:

使用Dart创建组件时,您将扩展PolymerElement,它基于看上去的HtmlElementHtmlElement具有父Element

我一直在寻找,并在Element类中注意到,实际上有一个具有以下签名的最接近的函数

Element closest(String selectors);

这似乎可以解决我想要的问题,并且可以使用对HtmlElements或PolymerElmeent的引用来执行类似操作。

一个可能对您的组件有用的常见方案可能是:
(MouseEvent mouse){
HtmlElement target = mouse.target;
HtmlElement closestFoo = target.closest(".foo");
}

作为替代方案,Gunter确实链接了此链接,它具有您可以利用的最接近的实现。 https://github.com/bwu-dart/bwu_utils/blob/master/lib/browser/html.dart#L49

关于dart - 等于Dart中最接近的,特别是DartPolymer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41128984/

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