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