2010-09-01 4 views
12

Je suis très nouveau sur jQuery et JavaScript. J'ai une petite question. Disons que j'ai une table HTML comme suitComment puis-je sélectionner une colonne spécifique dans une rangée en utilisant jQuery et JavaScript?

<Table id="mytable"> 
<tr id="element"> 
    <td>value</td> 
    <td>text</td> 
</tr> 
</Table> 

Dans l'exemple ci-dessus, je sais que l'identifiant de ligne et je veux changer la valeur de la deuxième colonne de la ligne avec cet identifiant particulier.

je besoin d'un résultat quelque chose comme ce qui suit:

<Table id="mytable"> 
<tr id="element"> 
    <td>value</td> 
    <td>ChangedText</td> 
</tr> 
</Table> 

Donc, ma question est la suivante: comment puis-je choisir le 2 e colonne de la première ligne avec un identifiant donné afin de changer la valeur?

+0

voulez-vous sélectionner toutes les secondes colonnes de chaque ligne, ou seulement la deuxième colonne de la première (le n-ième) ligne? –

+1

@Yanick - OP était assez clair: * "Je connais l'identifiant de ligne et je veux changer la valeur de la deuxième colonne de la ligne avec cet identifiant particulier" * – user113716

+0

@patric dw, mais une réponse suggérait un sélecteur à trouver tous les deuxièmes TD de chaque rangée, alors je voulais juste être sûr. Comme vous pouvez le voir, ma réponse présume ce que le PO suggère ... –

Répondre

23
$("#element td:nth-child(2)").text('ChangedText'); 

Voici an example.

+1

@ Shog9 - Oups ... corrigé. :) –

+0

Beaucoup mieux :-) – Shog9

12

quelque chose comme

$('#mytable tr:eq(0) td:eq(1)').text('ChangedText'); 

sélectionne la première rangée, la seconde colonne (0 sur la base) de l'élément donné (TABLE). Dans votre cas, puisque vous connaissez l'ID de ligne:

$('#mytable #element td:eq(1)').text('ChangedText'); 

ou simplement

$('#element td:eq(1)').text('ChangedText'); 
+0

J'aime celui-ci, parce que quand je pense à des itérations, je vois toujours 0 index basé. Quand 2 signifie en fait le deuxième élément, je commence à regarder par-dessus mon épaule en pensant que quelque chose de mauvais va se passer aujourd'hui. – eaglei22

+0

C'est pourquoi CSS est destiné aux concepteurs (1, 2, 3, 4 ...) et JavaScript pour les programmeurs (0, 1, 2, 3 ...) :) –

+0

:) Oui, en tant que programmeur principalement, je suis extrêmement reconnaissant pour bootstrap! – eaglei22

2

code de Gert est ainsi que je l'aurais mis en œuvre ce que vous demandez donc je ne vais pas republier. Cependant, puisque vous êtes nouveau sur jquery/javascript, vous aimerez peut-être utiliser cet outil pour m'assurer que mes sélecteurs fonctionnent http://www.woods.iki.fi/interactive-jquery-tester.html.

Cheers, Joe

+0

+1 - Testeur cool! –

Questions connexes