2009-12-21 8 views
1

J'ai mon code HTML comme ceci:Comment accéder au texte d'un tag <caption>?

<table> 
<caption class="my_caption">Table 1.1: TABLE CAPTION</caption> 

<tr>...</tr> 
<tr>...</tr> 
... 

J'ai besoin pour obtenir le texte de la légende que je peux faire une comparaison de chaînes. J'ai essayé de faire .val(), .text(), .html() et .value mais aucun d'eux ne fonctionne.

Merci pour votre aide.

EDIT: J'ai effectivement quelques-unes de ces légendes. Désolé, j'aurais dû le mentionner plus tôt.

<div> 
<table> 
<caption class="my_caption">Table 1.1</caption> 

<tr>...</tr> 
<tr>...</tr> 
... 
</table> 
<table> 
<caption class="my_caption">Table 1.2</caption> 

<tr>...</tr> 
<tr>...</tr> 
... 
</table> </div> 

J'ai donc pour -loop qui passe par tous les sous-titres:

 var cap_tables = $("caption.my_caption"); 
     for (var i=0;i<cap_tables.length;i++) { 
      alert(cap_tables[i].text()); 
      //i've tried .text(), .html(), .val(), .value to get the caption text 
     } 

Je vais essayer à nouveau seront toutes vos suggestions et revenir à vous les gars. Merci beaucoup!!!

J'utilise Firefox version 3.5.3

+1

'.text()' ou '.html()' devrait fonctionner. Permet de voir votre sélecteur. –

+1

Une autre bonne information serait quel navigateur et la version que vous utilisez comme il semble de toutes nos réponses ci-dessous, cela devrait fonctionner. – cjstehno

Répondre

0

Vous devriez essayer l'itérateur jquery intégré pour parcourir chaque élément plutôt que la boucle que vous avez affichée.

 $("caption.my_caption").each(function(i,val){ 
        alert($(this).text()); 
        }); 
+0

Oui, cela a fonctionné. Je vous remercie! – Corrine

+0

Hé, c'est bon! –

6

ou

$('.my_caption').text(); 
0

ou, si vous avez un objet "table", votre code pourrait ressembler à:

var myTable = $('table'); 
var myCaptionText = myTable.find('caption').text(); 
0

Cela fonctionne dans la dernière version de Firefox et IE:

jQuery(function(){ 
    alert($('caption').html()); 
}); 

Vous ne savez pas pourquoi cela ne fonctionne pas pour vous.

Questions connexes