簡體   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