2013-05-23 2 views
2

Je reçois erreur JavaScript sur Chrome commeerreur Javascript "Uncaught TypeError: Objet # <HTMLInputElement> n'a pas de méthode 'removeNode'"

Uncaught TypeError: Object #<HTMLInputElement> has no method 'removeNode' 

et mon code est

if (document.form["act[" + actArry["'" + i + "'"][i] + "]"] != undefined) 
    document.form["act[" + actArry["'" + i + "'"][i] + "]"].removeNode(true); 

et une valeur qui est stocké dans cet élément input est

<input type="hidden" name="act[1]" value="7813e7-true"> 

en fait, je veux supprimer -true lorsque checkbox est unchecked.

Cela fonctionne correctement dans IE mais pas dans Google Chrome.

Quelqu'un peut-il me dire quel est le problème et quelle devrait être la méthode courante dans IE et Chrome? Y a-t-il une alternative dans jQuery?

+0

Si vous voulez juste changer la valeur de l'entrée, inutile de l'enlever. Vous pouvez changer son '.value' pour ce que vous voulez. –

+0

Vous pouvez supprimer le '' '"' de l'expression du nom du contrôle et le '! = Undefined' du test. – RobG

Répondre

7

removeNode() est une méthode IE uniquement. Cela ne fonctionnera pas dans d'autres navigateurs.

Vous pouvez faire un removeChild()sur le nœud parent pour obtenir la même chose avec le navigateur croisé.

i.e. .:

if (node.parentNode) 
    node.parentNode.removeChild(node); 

Ref: http://www.sitepoint.com/forums/showthread.php?126312-Mozilla-equivalent-for-IE-s-removeNode()

+1

['.removeChild'] (https://developer.mozilla.org/en-US/docs/Web/API/Node.removeChild) doit être utilisé. Il vaut la peine de mentionner que '.remove' vient d'arriver dans le DOM api il y a 2 semaines donc nous pourrions avoir des fonctionnalités similaires à l'avenir :) –

+0

@BenjaminGruenbaum - Merci. Info ajoutée – techfoobar

+0

+1 de moi aussi. J'apprécie votre réponse très rapide et ça fonctionne comme charme :) Et vous l'avez expliqué à fond et aussi grâce à @BenjaminGruenbaum pour info détail – NullPointer

1

Vous pouvez utiliser removeChild, cela fonctionne dans la plupart des navigateurs.

Questions connexes