相当于 Dart 中最近的,特别是 DartPolymer?
Equivalent to nearest in Dart, specifically DartPolymer?
我正在尝试找出一种方法来执行类似于 jquery 的最近函数。例如:
$("a.test").nearest(".group-parent");
但在飞镖中。
我正在查看 HtmlElement class 以查看是否有一种方法可以像上面那样做,但还没有找到任何真正可以沿着树向上走直到找到选择器(或 null 等)的东西).
有没有可以利用的东西来做这样的事情?
我想创建一个函数,它将循环遍历父对象,直到 parents = null(或文档的任何 returns)。
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
,它似乎基于 HtmlElement
。 HtmlElement
有父 Element
.
我是这样看的,并注意到 Element
class,实际上有一个 closest 函数具有以下签名
Element closest(String selectors);
这似乎解决了我想要的问题,并且可以使用对 HtmlElements 或 PolymerElmeent 的引用来做类似的事情。
可能对您的组件有用的常见场景如下:
(MouseEvent mouse){
HtmlElement target = mouse.target;
HtmlElement closestFoo = target.closest(".foo");
}
作为替代方案,Gunter 做了 link 这个,它具有您可以利用的最接近的实现。 https://github.com/bwu-dart/bwu_utils/blob/master/lib/browser/html.dart#L49
我正在尝试找出一种方法来执行类似于 jquery 的最近函数。例如:
$("a.test").nearest(".group-parent");
但在飞镖中。
我正在查看 HtmlElement class 以查看是否有一种方法可以像上面那样做,但还没有找到任何真正可以沿着树向上走直到找到选择器(或 null 等)的东西).
有没有可以利用的东西来做这样的事情?
我想创建一个函数,它将循环遍历父对象,直到 parents = null(或文档的任何 returns)。
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
,它似乎基于 HtmlElement
。 HtmlElement
有父 Element
.
我是这样看的,并注意到 Element
class,实际上有一个 closest 函数具有以下签名
Element closest(String selectors);
这似乎解决了我想要的问题,并且可以使用对 HtmlElements 或 PolymerElmeent 的引用来做类似的事情。
可能对您的组件有用的常见场景如下:
(MouseEvent mouse){
HtmlElement target = mouse.target;
HtmlElement closestFoo = target.closest(".foo");
}
作为替代方案,Gunter 做了 link 这个,它具有您可以利用的最接近的实现。 https://github.com/bwu-dart/bwu_utils/blob/master/lib/browser/html.dart#L49