childNodes ne fonctionne pas sous Firefox et Chrome, mais travaillant dans IE
J'ai un gridview dans sa 3ème cellule, il y a contrôle de zone de texte, je vais appeler la fonction javascript sur onchange.
Certains corps me dire pourquoi cela ne fonctionne pas dans Firefox et Chrome, mais travaillant dans IE
grd.rows[rowindex].cells[3].childNodes[0].value
Revenir valeur correcte dans IE mais pas avec Chrome et firefox (In FF and Chrome it return undefined
)?
Veuillez également me suggérer une solution pour gérer ce problème.
Modifier
alert(grd.rows[ri].cells[3].childNodes[0].value);//IE value=correct value, FF and chrome value=undfined
alert(grd.rows[ri].cells[3].childNodes[1].value);//IE value=undfined, FF and Chrome value= correct value
Grâce
OriginalL'auteur Muhammad Akhtar | 2010-01-28
Vous devez vous connecter pour publier un commentaire.
Je crois que c'est parce que IE ignore les nœuds de texte contenant des sauts de ligne et les tabulations. Personnellement, je préfère qu'ils être ignoré, mais je préfère avoir de la cohérence dans les navigateurs.
OriginalL'auteur ChaosPandion
essayer
grd.les rangées[rowindex].les cellules[3].childNodes[1].valeur
ou le meilleur, regardez le tableau intégrée de l'outil de développement
OriginalL'auteur Falcon
@ChaosPandion:
Hey ami de ne pas utiliser ce type de contrôle d'childNodes.
Le comptage de childNodes varie. Certains navigateurs inclure vide textNodes, certains ne le font pas. Dans ce genre d'opération, car je crois que vous décrivez, il est préférable d'utiliser du parent
getElementsByTagName()
méthode. De cette façon, le nombre d'enfants et l'index de chaque enfant que vous recherchez.OU
simplement vérifier vos nom du navigateur.
si c'est IE, alors qu'il néglige vide textnode, le childNode dans c'est moins par un nombre que les autres navigateurs.
pour eg.
Espère que cette aide. Profitez de codage.
OriginalL'auteur Pawan Rahate
Essayer ce. J'ai le même problème et ce problème est résolu par il suffit de remplacer "childNodes" avec "les enfants"
OriginalL'auteur Ishwar Pohani
Ishwar de la réponse de l'évolution des childNodes pour les enfants a travaillé pour moi.
OriginalL'auteur Cody Hackjob
Si vous êtes à la recherche pour le texte, utilisez des grd.les rangées[rowindex].les cellules[3].childNodes[0].les données pour les non-IE navigateurs.
Obtenir la valeur textuelle d'un Nœud d'Élément
Obtenir la valeur textuelle d'un Nœud de Texte (moins de sécurité par rapport à la précédente)
OriginalL'auteur Sergey Ilinsky
Comme ChaosPandion dit, c'est à dire ignore blanc-texte de l'espace-nœuds. Le suivant devrait fonctionner de la croix-navigateur:
Cependant, vous dites que vous êtes l'appel de la fonction onchange.
Vraisemblablement, cela signifie que l'événement onchange de la zone de texte en question.
Dans ce cas, l'argument d'événement dans votre gestionnaire d'événement doit avoir un pointeur sur la zone de texte.
Sur la cible ou srcElement de la propriété. par exemple,
OriginalL'auteur Sean Hogan
essayer getElementsByTagName() au lieu de ChildNodes. il va travailler pour les FF , chrome et IE.
OriginalL'auteur ifti
Utilisation
children[0]
au lieu deChildNode
comme ci-dessous:OriginalL'auteur Karl