1

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

这可以在Goquery中使用类似的东西doc.Find("body > ul"),但是当你已经有了 a*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
})

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

如何才能做到这一点?

4

1 回答 1

4

正如这个 cascadia 票证(goquery 使用的选择器库)中所指出的,这个功能没有(也不会)实现。

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

doc.Find("body > ul > li").Each(func(i int, s *goquery.Selection) {
    s.ChildrenFiltered("ul")
})
于 2017-08-28T14:37:53.713 回答