2014-10-02 48 views
0

ID標籤,我想檢索所有使用轉到一個特定ID標籤。顯然最簡單的方法就是使用goquery。搜索與goQuery

假設我在尋找ul標籤與身份證MyTag在網站site。我想列出這樣的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){ 
     ... 
    }) 
}) 

更多specitically,我的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說法?它似乎並沒有在所有

回答

2

GoQuery使用採用了相同的選擇語法的jQuery/CSS。爲此,如果你想找到一個具有特定ID的元素,那麼你需要使用散列#符號。

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

話雖這麼說,ID是應該是唯一。您正在使用的上述代碼(我在上一個問題中提供的)..通過class(點號.表示法)進行搜索。

我們證明您是使用這個標記,我會很清楚地看到你要去哪裏錯了。

RE:您的獎金問題。參數int是其父代中元素的索引。你不要使用它..它是由goquery提供。

+0

是的我正在使用該代碼。我在問題 – meto 2014-10-02 01:21:23

+0

中添加了一個小的HTML示例好吧,我設法使用'li.Attr(「key」)'來完成它。謝謝! – meto 2014-10-02 01:25:06

+0

你的解決方案和問題絕不相關..讓我的答案毫無意義。你問的有關元素ID ..但您的解決方案有事情做與自定義屬性.. – 2014-10-02 01:36:48