无法从* goquery.Selection中选择直接子项

时间:2017-08-28 09:36:07

标签: go jquery-selectors goquery

在jQuery和CSS中,您可以使用仅指向直接子元素的>字符。

这适用于Goquery,类似于doc.Find("body > ul"),但是当您已经拥有*goquery.Selection并且想要选择直接子元素时,怎么办呢?

例如:

doc.Find("body > ul > li") // Works

doc.Find("body > ul > li").Each(func(i int, s *goquery.Selection) {
    s.Find("> ul") // Does not work
})

我希望完成您希望从第二段代码中选择的内容,但我没有取得任何成功。

如何做到这一点?

1 个答案:

答案 0 :(得分:3)

this cascadia ticket(goquery使用的选择器库)中所述,此功能未实现(也不会实现)。

最简单的解决方法是在您的选择中使用ChildrenFiltered()方法:

doc.Find("body > ul > li").Each(func(i int, s *goquery.Selection) {
    s.ChildrenFiltered("ul")
})