我想使用 Go 检索具有特定 id 的所有标签。显然,最简单的方法就是使用 goquery。
假设我正在网站中寻找ul带有 id 的标签。我想列出这样一个 .txt 文件中包含的所有内容。我以前从未使用过 jQuery,所以我感觉有点失落。MyTagsiteliul
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){
...
})
})
Run Code Online (Sandbox Code Playgroud)
更具体地说,我的 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>
Run Code Online (Sandbox Code Playgroud)
我想取回钥匙1,2,3,4
附加问题:为什么每个人都有一个int论点?好像根本没用过
GoQuery 使用与 jQuery/CSS 相同的选择器语法。为此,如果您想查找具有特定 ID 的元素..那么您需要使用哈希#符号。
document.Find("ul#MyTag")...
Run Code Online (Sandbox Code Playgroud)
话虽这么说,ID 应该是唯一的。您正在使用的上述代码(我在您的上一个问题中提供)..通过class(点.符号)搜索。
向我们展示您正在使用的标记,我将能够准确地看到您哪里出了问题。
回复:你的奖金问题。参数int是元素在其父元素中的索引。你不必使用它..它是由 goquery 提供的。