繁体   English   中英

分配对象的innerhtml属性后,该对象变为null

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM