2012-07-14 3 views
1

HtmlAgilityPack을 C#으로 사용하고 있습니다. 나는 우리가 jQuery를에처럼 나는 스타일에 액세스 할 수 있습니다에 의해 HtmlAgilityPack의 모든 방법은, 개별적으로이 속성 일부 속성 등으로 div 요소, 개별적으로 스타일 속성에 액세스

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

지금 내가 알고 싶은 생성 :

  $("div").width(); or $("div").css("width"); 
+0

짧은 답변 : 아니오. GetAttributeValue를 사용하여 스타일을 가져올 수 있지만 개별 속성을 직접 파싱해야합니다. –

답변

1

당신은 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 자바 스크립트의 오버로드 된 메서드 그래서 다른 방법이 사용했던 C#으로 작동하지 않았다 그들 중 하나입니다. (다른 하나는 객체에서 설정할 때 AttrSet입니다.) 또한 C#으로 포팅 된 jQuery의 테스트 스위트를 비롯하여 광범위한 단위 테스트 커버리지를 갖추고 있으며 셀렉트 기능 덕분에 셀렉터는 HTML 애자 팩보다 훨씬 빠릅니다 (CSS 만 사용하기 때문에 혼란스럽지 않습니다). 색인.

관련 문제