我想使用Go检索具有特定id的所有标记。显然,最简单的方法是使用goquery。
假设我正在寻找ul标签与id MyTag在一个网站site。我想列出包含在这样一个li中的所有ul。我以前从未使用过jQuery,所以我觉得有点迷茫。
resp, _ := http.Get(site)
httpBody := resp.Body
node, _ := html.Parse(httpBody)
document := goquery.NewDocumentFromNode(node)
document.Find("ul.MyTag").Each(func(i int, ul *goquery.Selection) { //MyTag will not work here
ul.Find("li").Each(func (i int, li *goquery.Selection){
...
})
})更特别的是,我的html看起来像
<html>
<body>
<ui id="yes">
<li key="1">a</li>
<li key="2">b</li>
<li key="3">c</li>
<li key="4">d</li>
</ui>
<ui id="no">
<li key="1">11</li>
<li key="2">22</li>
<li key="3">33</li>
<li key="4">44</li>
</ui>
</body>
</html>我想收回1,2,3,4的钥匙
额外的问题:为什么每个人都有一个int论点?它似乎根本不被使用
发布于 2014-10-02 00:56:53
GoQuery使用与jQuery/CSS相同的选择器语法。为此,如果您想找到一个具有特定ID的元素..然后,您需要使用散列#符号。
document.Find("ul#MyTag")...话虽如此,身份证应该是独一无二的。你使用的上面的代码(我在你之前的一个问题中提供的) ..class搜索(点.符号)。
向我们展示您正在使用的标记,我将能够准确地看到您的错误所在。
你的奖金问题。int参数是其父元素中元素的索引。你不用用它..。不过,它是由goquery提供的。
https://stackoverflow.com/questions/26152766
复制相似问题