Trouver le nombre de <td> Jquery
J'ai le code HTML suivant la structure et je voulais savoir la durée de l'immédiat <td>s
. voici le code que j'utilise:-
<table class="PrintTable">
<tr>
**<td>**
<table>
<thead>
<tr><th>Type Of Transaction</th></tr>
</thead>
<tbody>
<tr>
<td>Name</td>
</tr>
<tr>
<td>Age</td>
</tr>
</tbody>
</table>
</td>
**<td>**
<table>
<thead>
<tr><th>2006</th></tr>
</thead>
<tbody>
<tr>
<td>Andi</td>
</tr>
<tr>
<td>25</td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
La fonction que j'utilise pour trouver la longueur de la td est
function getBody(element)
{
var divider=2;
var originalTable=element.clone();
var tds = $(originalTable).children('tr').children('td').length;
alert(tds);
}
Le résultat que je vois est de 0. Aucune idée. Je m'attends à ce que 2. Toute aide sera appréciée.
Pourquoi êtes-vous à l'aide de
Oui, l'élément est un Objet JQuery et il contient l'ensemble des tableau en tant qu'objet. Même si vous n'avez pas invoquer un clone(), là encore, il affiche 0 alors que je m'attends à ce que 2.
.clone()
? Et est element
destiné à être un objet jQuery? Je suppose donc, depuis clone
n'est pas natif JS méthode sur un objet DOM. Pouvez-vous donner un exemple de la façon dont vous êtes en invoquant getBody
?Oui, l'élément est un Objet JQuery et il contient l'ensemble des tableau en tant qu'objet. Même si vous n'avez pas invoquer un clone(), là encore, il affiche 0 alors que je m'attends à ce que 2.
OriginalL'auteur Nrusingha | 2011-01-18
Vous devez vous connecter pour publier un commentaire.
J'ai enlevé les astérisques de votre code HTML et fait quelques hypothèses sur la façon dont vous êtes en invoquant
getBody
, donc, si j'ai fait quelque chose qui n'allait pas, faites le moi savoir.Code: http://jsfiddle.net/27ygP/
Le grand changement est l'ajout d'un
.children('tbody')
. Le HTML interprète enveloppe letr
s danstbody
. Traverser vers le bas, et vous serez amende.Firebug pour Firefox est le meilleur outil sur le marché pour naviguer dans le DOM. Tous les principaux navigateurs ont intégré dans les outils pour faire la même chose (il suffit de cliquer dans les menus). Il vous faudra, entre autres choses, interactif arbre que vous pouvez parcourir manuellement.
Merci! Je me demande pourquoi vous ne pouvez pas utiliser plusieurs sélecteurs .enfants (les)
OriginalL'auteur Steven Xu
Je pense que vous voulez utiliser.
Mise à JOUR
Vous souhaitez utiliser la balise tr comme le sélecteur de début et de compter chaque td sélecteur à l'aide de la première à prendre la première.
OriginalL'auteur phillip
Essayez ceci:
Note; Si vous créer dynamique ligne de la table de la colonne puis utilisez
$(document).live("click",function(){});
OriginalL'auteur Neeraj Singh
Cela devrait fonctionner:
Mise à jour:
Je viens de réaliser qu'au moins inserts Chrome
<tbody>
si elle n'est pas déjà présent, pour obtenir de la croix-prise en charge du navigateur:Exemple: http://jsfiddle.net/H2JWS/
OriginalL'auteur Peter Örneholm
En général, si vous voulez compter le nombre de
td
's dans une ligne spécifique, vous pouvez le faire..OriginalL'auteur Uttam Grandhi
var rowCount = $('#myTable tr').longueur;
OriginalL'auteur Kalyani
OriginalL'auteur user6234155