C# 单独访问样式属性
我正在c#中使用C# 单独访问样式属性,c#,html-agility-pack,C#,Html Agility Pack,我正在c#中使用HtmlAgilityPack。我创建了一个具有如下属性的div元素: HtmlNode div = HtmlNode.CreateNode("<div></div>"); div.Attributes.Add("style","width:100px;height:100px;color:red;position:absolute;"); 您可以尝试使用,这实际上类似于jQuery: CQ div = CQ.Create("<div><
HtmlAgilityPack
。我创建了一个具有如下属性的div元素:
HtmlNode div = HtmlNode.CreateNode("<div></div>");
div.Attributes.Add("style","width:100px;height:100px;color:red;position:absolute;");
您可以尝试使用,这实际上类似于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
有两个例外,
CssSet
是其中之一,javascript中的重载方法在C#中不起作用,因此必须使用不同的方法。(另一个是从对象设置时的AttrSet
)。它还具有广泛的单元测试覆盖范围,包括从jQuery移植到C#的大部分测试套件,而且由于具有子选择功能的索引,选择器比HTML Agility Pack快得多(更不用说,因为它们只是CSS,所以不太容易混淆)。Short anser:no.您可以使用GetAttributeValue来提取样式,但是您必须自己解析各个属性。
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
var nodeName = div[0].NodeName; // nodeName=="DIV";
div[0].AppendChild(div.Document.CeateElement("span")); // add a span child