11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour
Imaginons un tableau fait de plusieurs lignes et colonnes et dont le contenu de chaque cellule est un input avec chacun une value propre.
Je souhaite accéder à la value d'une cellule précise.
Une expression comme alert(getElementById("table").row[2].cells[4].value) ne donne rien.
Si je remplace le value par input.value, toujours rien.
Enfin si je le remplace par innerHtml, j'obtiens le contenu de ma balise <td> : <input value="garage" />

Donc comment obtenir simplement "garage" ?

Merci
Modérateur
Peut-être en utilisant un querySelector ?

 alert(document.querySelector('#table tr:nth-child(2) td:nth-child(4) input').value ) 
Bonsoir
Merci pour ta réponse.
Je ne suis pas arrivé au résultat en tapant ce code mais ne connaissant pas du tout ce querySelector cela m'a permis en me documentant sur celui-ci de trouver getElementsByTagName.
En donnant id="2" au <tr> de la 2ème ligne, j'ai pu arriver au résultat en tapant :
alert(document.getElementById("2").getElementsByTagName('input')[4].value);
Salut,

pourtant il marche bien son sélecteur : https://jsfiddle.net/0tm6x15b/
Et il m'a l'air plus simple/générique/efficace vu qu'il faut juste adapter l'id de la table pour que la logique fonctionne au lieu d'avoir à numéroter toutes les lignes de ton tableau Smiley ohwell

On pourrait voir un bout de ton code html pour comprendre ce qui bug ?