プロジェクトでDOMを操作するためにjQueryを使用しています。次のように機能するクラスメソッドがあります。
<!-- language: lang-js -->
var template = this._Template.split('{0}');
var content = template[0] + this._Content + template[1];
if (!this._BlockNode) {
this._BlockNode = $(content);
this._ParentNode.append(this._BlockNode);
}
else {
this._BlockNode.replaceWith(content);
}
このメソッドはノードを作成して親ノードに追加するため、このメソッドの最初の呼び出しではすべて問題ありません。2番目の呼び出し(replaceWith()メソッドを使用)も問題なく機能します。しかし、その後のプロパティthis._BlockNode[0].parentNodeはnullです。したがって、3回目に呼び出して、プロパティなしreplaceWith()でnewを使用すると、次のチェックのためにノードのコンテンツが置き換えられません。
どのように対処しますか?_.BlockNode.parentNodeif ( !isDisconnected( this[0] ) ) { //line 5910 in jQuery 1.8.3