【发布时间】:2014-07-29 07:57:09
【问题描述】:
我正在尝试替换 html 元素中的一些代码。有一次,我在网页中的文本片段周围添加了一个元素。在其他我需要删除它(它是一个基于 geckofx 的浏览器中的简单搜索引擎)
if (element.OuterHtml.Contains(spanStyle))
if (element.Parent != null)
{
string oldHtml = element.OuterHtml;
string newHtml = oldHtml.Replace(spanStyle, "").Replace("</span>", "");
element.Parent.InnerHtml = newHtml;
}
问题是我无法替换元素的 OuterHtml - 相反,我试图替换它的父元素的 InnerHtml。
但是,一旦执行element.Parent.InnerHtml = newHtml;,element.Parent 就会变为null,并且该元素的OuterHtml 仍然包含span 元素。我什至尝试替换 element.Parent.InnerHtml 的文本内容以查看问题是否出在删除标签上,但显然它并没有什么不同——一旦我分配了element.Parent.InnerHtml,element.Parent 就会变为空。
干杯!
巴托斯
【问题讨论】:
-
你能发布 spanStyle 的代码吗?
-
@HimBromBeere - 当然,那是
<span style=\"background-color: gold;\">。变量 newHtml 和 oldHtml 看起来总是没问题。即使我使用element.Parent.RemoveChild(element);之类的东西,element.Parent 也会变为 null