老问题但新的答案.我最近发布了CsQuery的 1.1版,这是一个用C#编写的.NET 4的jQuery端口,我已经工作了大约一年.同样在NuGet上作为"CsQuery"
当前版本实现了所有CSS2和CSS3选择器,所有jQuery扩展以及所有jQuery DOM操作方法.它有广泛的测试覆盖率,包括来自jQuery和sizzle的所有测试(jQuery CSS选择引擎).我还包括一些与Fizzler直接比较的性能测试; 在大多数情况下,CsQuery显着优于它.实际上,例外情况是在Fizzler更快的地方加载HTML; 我认为这是因为fizzler没有建立索引.不过,在第一次选择之后,你会得到那段时间.
有关github网站的文档,但在基本级别它的工作方式如下:
从HTML字符串创建
CQ dom = CQ.Create(htmlString);
Run Code Online (Sandbox Code Playgroud)
从Web同步加载
CQ dom = CQ.CreateFromUrl("http://www.jquery.com");
Run Code Online (Sandbox Code Playgroud)
异步加载(非阻塞)
CQ.CreateFromUrlAsync("http://www.jquery.com", responseSuccess => {
Dom = response.Dom;
}, responseFail => {
..
});
Run Code Online (Sandbox Code Playgroud)
运行选择器和做jQuery的东西
var childSpans = dom["div > span"];
childSpans.AddClass("myclass");
Run Code Online (Sandbox Code Playgroud)
该CQ对象就像jQuery对象.上面使用的属性索引器是默认方法(如$(...).
输出:
string html = dom.Render();
Run Code Online (Sandbox Code Playgroud)