내 프로젝트에서 jQuery를 사용하여 DOM을 조작하고 있습니다. 이 노드를 생성하고 부모 노드에 추가합니다 때문에replaceWith jQuery 메서드로 부모 노드가 null입니다.
<!-- 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);
}
모든 것이이 방법의 첫 번째 통화 괜찮 :이처럼 작동 클래스 메소드를 가지고있다. 두 번째 호출 (replaceWith()
메소드 사용)도 정상적으로 작동합니다. 그러나 그 후에 속성 this._BlockNode[0].parentNode
은 null입니다. 따라서 세 번째로 호출 할 때 replaceWith()
은 .parentNode
속성없이 새로운 속성과 함께 작동하지만이 체크로 인해 노드의 내용을 대체하지 않습니다 : if (!isDisconnected(this[0])) { //line 5910 in jQuery 1.8.3
.
어떻게 처리할까요?