Page 1 of 1

childNode removeNode..

Posted: 2006 10 12 16:22 09
by 임준환

Code: Select all

var _cntLogElChild = _logEl.childNodes.length;

			for(i=0; i<_cntLogElChild; i++)
			{			
				_logEl.removeChild(_logEl.childNodes[i]);
			}
이렇게 자식노드를 모두 삭제하는데 FF 에서는 에러가 나네요 -_-

에러: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMHTMLDivElement.removeChild]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: http://renewal.thespaceshop.co.kr/JHBlog/script/ajax.js :: UpdateLogin :: line 60" data: no]
소스 파일: http://renewal.thespaceshop.co.kr/JHBlog/script/ajax.js
행: 60

IE 에서는 잘되는구만 ㅠ 왜 에러나는지;;

Re: childNode removeNode.

Posted: 2006 10 12 17:44 04
by 화성
임준환 wrote:이렇게 자식노드를 모두 삭제하는데 FF 에서는 에러가 나네요 -_-
자식노드가 없어지는 데 인덱스는 처음에 알아낸 갯수대로 없애려고 해서 그럽니다.

대신 다음과 같이 할 수 있습니다.

Code: Select all

while(_logEl.hasChildNodes())
  _logEl.removeChild(_logEl.firstChild);
아니면 뒤에서 부터 없애도 되고요.

Code: Select all

for(i=_cntLogElChild - 1; i >= 0; i--)