使用goQuery按id搜索标签



我想使用Go检索所有具有特定id的标签。显然,最简单的方法就是使用goquery。

假设我正在网站site中查找id为MyTagul标签。我想列出这样一个ul中包含的所有li。我以前从未使用过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自变量?它似乎根本没有被使用

GoQuery使用与jQuery/CSS相同的选择器语法。为此,如果要查找具有特定ID的元素。。则需要使用散列CCD_ 8符号。

document.Find("ul#MyTag")...

也就是说,ID被认为是唯一的。你正在使用的上面的代码(我在你之前的一个问题中提供的)。。按class(点.表示法)进行搜索。

让我们看看你在上面使用的标记,我就能准确地看到你哪里出了问题。

回复:您的奖金问题。int参数是元素在其父元素中的索引。您没有来使用它。不过它是由goquery提供的。

相关内容

  • 没有找到相关文章

最新更新