2010-07-07 4 views
0

노드의 자식으로 문자열 변수를 추가하려고합니다. DOM 예외 8. 사람이 어떤 포인터가 있습니까 : 나는이 올바른 구문이라고 생각이Node.insertBefore를 사용하여 특정 노드에 내용을 추가하는 방법

$(this).parentNode.parentNode.insertBefore('content',$(this).parentNode) 

같은 외모를 사용하고 있습니다,하지만 난 NOT_FOUND_ERR을 수신 계속 코드? 당신이 노드 전에 새로운 요소를 삽입 할 경우 요소에 새로운 textNode를 추가하려면

+0

:

당신처럼, 그들의 자신의 방법을 사용할 필요가 이 예제에서와 같이 : http://javascript.about.com/library/bldom12.htm – AaronLS

+0

RoR에 익숙하지 않아서 틀릴 수도 있지만 jQuery와 일반 JavaScript를 조합하여 사용하고있는 것입니까? –

+0

@ Ryan Kinal : 맞습니다. 질문에는 ROR 코드가 없지만 적용 가능한 ROR 트릭이있을 수 있습니까? ;-) –

답변

0
parentElement.insertBefore(el, beforeWhat); 

당신은 오히려 필요

var textNode = document.createTextNode("content"); 
el.appendChild(textNode); 

하지만 정말 날 귀찮게하는 것입니다 당신은 jQuery 또는 일부 프레임 워크를 사용하여 DOM 메소드를 사용하는 것처럼 보입니다. 왜냐하면 그건 효과가 없기 때문이죠. 어쩌면 당신은`createTextNode ('내용')`를 사용하고 그것을 생성 된 노드를 통과해야, 대신 리터럴 문자열 '콘텐츠'를 사용하는

$(this).append("content"); 
+0

나는 당신을 불러 내기에는 너무 빠르다. 나는 그것에 대해 사과한다. 프로토 타입이 $() 연산자를 재정의 했으므로 jQuery를 사용한다고 생각했을 때 실제로 시도한 메서드 중 비 작동하는 것은 프로토 타입이었습니다. 두 가지를 함께 사용하려면 내 application.js 파일의 맨 위에 var $ j = jQuery.noConflict()를 넣으십시오. – Teddy

+0

그래, 제 본능이 다소 옳았습니다. 당신이 그것을 해결했기 때문에 다행입니다. :) – galambalazs

관련 문제