C#为什么方法HtmlDocument.GetElementById匹配标签的属性名称?

时间:2015-03-19 04:40:23

标签: c# getelementbyid dom

HtmlDocument.GetElementById("$id") 

我想使用此方法获取$id元素,但它与meta标记匹配的属性与$id具有相同的值。

HtmlDocument是这样的:

<html>
    <head>
        <meta name="description" content="">
    </head>
    <body>
        <div id="description"></div>
    </body>
</html>

我尝试使用ID为“description”的标记div

HtmlElement elem = doc.GetElementById("description");

但是我得到了meta而不是div。为什么meta代码匹配?

2 个答案:

答案 0 :(得分:2)

<强>为什么Here is an official reference from Microsoft: getElementById方法:返回对具有ID NAME属性的指定值的第一个对象的引用。

解决方案:如果您使用myHtmlDocument.Body.All [id]公式作为sharique ansari,您应该避免使用正文中的名称属性,以便按ID引用标记。

干杯

答案 1 :(得分:0)

试试这个: -

HtmlDocument HtmlDocument = webBrowser1.Document;
MessageBox.Show(HtmlDocument.Body.All["description"].TagName);

希望这会有帮助吗?