【问题标题】:How to replace whole HTMLElement's text to something else?如何将整个 HTMLElement 的文本替换为其他内容?
【发布时间】:2011-11-10 03:04:10
【问题描述】:

这是示例。

webBrowser1.Document.Body.InnerHtml 包含:

<img id="image1" src="myImage.gif">

在我的 MyWebBrowser 类中,我想将整个 img 标记重新标记为一些文本,例如字符串:“&ltmyImage&gt”(我的聊天应用程序需要它,如果用户不想看到图像)

我想我可以这样做:

Document.GetElementById("image1").InnerHtml = "&lt" + Document.GetElementById("image1").GetAttribute("src") + "&gt";

但它会引发异常。

实际上,我通过在整个文档中搜索这些特定标签并使用 String 类的方法替换它来解决这个问题,但代码看起来不太好。如果有更有效的方法可以做到这一点,请不要费心回答我的问题。

【问题讨论】:

    标签: c# html innerhtml dom


    【解决方案1】:

    您可以使用OuterHtml 属性:

    HtmlElement image = Document.GetElementById("image1");
    image.OuterHtml = "<" + image.GetAttribute("src") + ">";
    

    但是请注意,分配给OuterHtml 将使对该元素的引用无效,因此image 之后将不会引用新内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-01
      • 2012-08-13
      • 2016-08-18
      • 1970-01-01
      • 2020-03-13
      相关资源
      最近更新 更多