如何将整个 HTMLElement 的文本替换为其他内容?
Posted
技术标签:
【中文标题】如何将整个 HTMLElement 的文本替换为其他内容?【英文标题】:How to replace whole HTMLElement's text to something else? 【发布时间】:2011-11-10 03:04:10 【问题描述】:这是示例。
webBrowser1.Document.Body.Innerhtml 包含:
<img id="image1" src="myImage.gif">
在我的 MyWebBrowser 类中,我想将整个 img 标记重新标记为一些文本,例如字符串:“<myImage>”(我的聊天应用程序需要它,如果用户不想看到图像)
我想我可以这样做:
Document.GetElementById("image1").InnerHtml = "<" + Document.GetElementById("image1").GetAttribute("src") + ">";
但它会引发异常。
实际上,我通过在整个文档中搜索这些特定标签并使用 String 类的方法替换它来解决这个问题,但代码看起来不太好。如果有更有效的方法可以做到这一点,请不要费心回答我的问题。
【问题讨论】:
【参考方案1】:您可以使用OuterHtml 属性:
HtmlElement image = Document.GetElementById("image1");
image.OuterHtml = "<" + image.GetAttribute("src") + ">";
但是请注意,分配给OuterHtml
将使对该元素的引用无效,因此image
之后将不会引用新内容。
【讨论】:
以上是关于如何将整个 HTMLElement 的文本替换为其他内容?的主要内容,如果未能解决你的问题,请参考以下文章