[英]object becomes null after assigning it's innerhtml property
我试图替换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 element.Parent.InnerHtml = newHtml;
执行后,元素的OuterHtml仍包含span元素。 我什至尝试替换element.Parent.InnerHtml的文本内容,以查看问题是否出在删除标签上,但是显然并没有什么不同-我将element.Parent.InnerHtml
分配给element.Parent
空值。
干杯!
巴尔托什
如果更改父元素的InnerHtml
,则显然子元素不再是父元素的子元素,因此element.Parent
变为null
。 您是否尝试过将element.Parent
存储在这样的临时变量中?
var parent = element.Parent;
...
element.Parent.InnerHtml = newHtml;
...
// do something with the variable parent here which should not be null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.