1

私はHtmlAgilityPackc#で使用しています。次のような属性を持つ div 要素を作成しました。

HtmlNode div = HtmlNode.CreateNode("<div></div>");
div.Attributes.Add("style","width:100px;height:100px;color:red;position:absolute;");

ここで、jQuery で行うように、スタイル属性に個別にアクセスできる HtmlAgilityPack にメソッドがあることを知りたいです。

         $("div").width(); or $("div").css("width");
4

1 に答える 1

2

実際には jQuery に似たCsQueryを使用してみることができます。

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そのうちの 1 つは、javascript でオーバーロードされたメソッドが C# で機能しなかったため、別のメソッドを使用する必要があったことです。(もう 1 つはAttrSet、オブジェクトから設定する場合)。また、C# に移植された jQuery からのテスト スイートの多くを含む広範な単体テスト カバレッジを備えており、セレクターは HTML Agility Pack よりもはるかに高速です (言うまでもなく、単なる CSS であるため、混乱が少ないことは言うまでもありません)。索引。

于 2012-07-14T12:27:28.653 に答える