2010-07-07 85 views
0

我试图添加一个字符串变量作为节点的子节点。 DOM异常8.有没有人有任何指针:我使用看起来像这样如何使用Node.insertBefore将内容添加到特定节点

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

我相信这是正确的语法,但我不断收到NOT_FOUND_ERR的代码?

+0

而不是使用一个字符串“内容”的,也许你有使用'一个createTextNode(“内容”)',并通过它创建的节点如下例所示:http://javascript.about.com/library/bldom12.htm – AaronLS 2010-07-07 21:37:24

+0

我不熟悉RoR,所以我可能会错,但是您使用的是jQuery和普通JavaScript的组合吗? – 2010-07-07 22:07:22

+0

@Ryan Kinal:没错。这个问题没有ROR代码,但也许有一个适用的ROR技巧? ;-) – 2010-07-07 22:25:17

回答

0
parentElement.insertBefore(el, beforeWhat); 

如果要插入新元素的节点之前

如果要追加新的textNode的元素你最好

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

但真正困扰我的是,你似乎使用jQuery或一些框架,并使用DOM方法。因为那不行。

你需要用自己的方法,然后,像:

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

我太快地打电话给你,我为此道歉。原来,原型覆盖了$()运算符,所以当我以为我使用jQuery时,它实际上是原型,这就是为什么我尝试使用的方法都不是。要一起使用这两个,我把var $ j = jQuery.noConflict()放在我的application.js文件的顶部 – Teddy 2010-07-07 23:49:21

+0

是的,我的直觉是有些正确的。很高兴你解决了它。 :) – galambalazs 2010-07-08 09:38:00