CsQuery:如何迭代所有元素?

时间:2014-01-03 18:02:24

标签: c# csquery

我需要实现一个函数,该函数返回包含特定字符串的Id属性的第一个元素。

在HAP中我曾经如下实现它:

    protected HtmlNode GetElementByIdPattern(string pattern)
    {
        return doc
            .DocumentNode
            .Descendants()
            .FirstOrDefault(e => e.Attributes["id"] != null && e.Attributes["id"].Value.Contains(pattern));
    }

如何遍历CsQuery中的所有元素?

2 个答案:

答案 0 :(得分:2)

解决方案是:

    protected static CQ GetElementByIdPattern(CQ doc, string contains)
    {
        string select = string.Format("*[id*={0}]", contains);
        return doc.Select(select).First();
    }

基于jQuery语法:$(' [id = contains]:first')

答案 1 :(得分:0)

 function CQ test(string contains, string selector)
 {
    CsQuery.CQ page="<div id="test first"></div>";
    return page[selector+"[id*="+contains+"]:first"];
 }

它会返回一个你可以随意操作的CQ对象。