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

标签 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 标签匹配?

最佳答案

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

解决方案:您应该避免在 body 中使用名称属性,这样如果您使用 myHtmlDocument.Body.All[id] 公式(如 sharique ansari 提到的),您就可以通过 id 引用标签。

干杯

关于C# 为什么方法 HtmlDocument.GetElementById 匹配标签的属性名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29137327/

相关文章:

c# - WriteableBitmap 上的转换

c# - 如何在 .Net 2.0 的 sectionGroup applicationSettings 中按名称获取所有部分

javascript - 通过javascript的对象属性修改多个元素的样式

javascript - 使用 Javascript 修改 HTML 内容

JavaScript 文本框添加

javascript - 劫持 DOM 操作

javascript - 复选框无法在 html 页面中显示

c# - SQLMetal 生成类但不生成无参数构造函数

c# - 检索表单例份验证到期日期/时间

javascript - 为什么我不能使用 off() 删除事件监听器?