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



在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
})

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

如何做到这一点?

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

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

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

相关内容

  • 没有找到相关文章

最新更新