您可以尝试使用CsQuery,它实际上就像 jQuery:
CQ div = CQ.Create("<div></div>");
div.CssSet( new {
width="100px",
height="100px",
color="red",
position="absolute"
});
//.. or
div.Css("width","100px").Css( ... ) ...
string width = div.Css("width"); // width=="100px"
int widthInt = div.Css<int>("width"); // widthInt==100
它实现了jQuery的每一个DOM操作方法,所以API应该很熟悉。它还提供了一个主要模仿浏览器 DOM 的实现,例如
var nodeName = div[0].NodeName; // nodeName=="DIV";
div[0].AppendChild(div.Document.CeateElement("span")); // add a span child
有几个例外,CssSet
就是其中之一,javascript 中的重载方法在 C# 中不起作用,因此必须使用不同的方法。(另一种是AttrSet
从对象设置时)。它还具有广泛的单元测试覆盖率,包括从 jQuery 移植到 C# 的大部分测试套件,并且选择器比 HTML Agility Pack 快得多(更不用说因为它们只是 CSS,所以更容易混淆),这要归功于具有子选择功能指数。