首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用goQuery按id搜索标记

使用goQuery按id搜索标记
EN

Stack Overflow用户
提问于 2014-10-02 00:28:14
回答 1查看 6.2K关注 0票数 1

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

假设我正在寻找ul标签与id MyTag在一个网站site。我想列出包含在这样一个li中的所有ul。我以前从未使用过jQuery,所以我觉得有点迷茫。

代码语言:javascript
复制
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看起来像

代码语言:javascript
复制
<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论点?它似乎根本不被使用

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-02 00:56:53

GoQuery使用与jQuery/CSS相同的选择器语法。为此,如果您想找到一个具有特定ID的元素..然后,您需要使用散列#符号。

代码语言:javascript
复制
document.Find("ul#MyTag")...

话虽如此,身份证应该是独一无二的。你使用的上面的代码(我在你之前的一个问题中提供的) ..class搜索(点.符号)。

向我们展示您正在使用的标记,我将能够准确地看到您的错误所在。

你的奖金问题。int参数是其父元素中元素的索引。你不用用它..。不过,它是由goquery提供的。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26152766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档