在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
})
我希望完成您希望从第二段代码中选择的内容,但我没有取得任何成功。
如何做到这一点?
答案 0 :(得分:3)
如this cascadia ticket(goquery使用的选择器库)中所述,此功能未实现(也不会实现)。
最简单的解决方法是在您的选择中使用ChildrenFiltered()
方法:
doc.Find("body > ul > li").Each(func(i int, s *goquery.Selection) {
s.ChildrenFiltered("ul")
})