1 votes

Comment accéder au texte d'une balise <caption> ?

J'ai mon HTML comme ça :

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

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

J'ai besoin de récupérer le texte de la légende pour pouvoir faire une comparaison de chaînes. J'ai essayé de faire .val(), .text(), .html() et .value mais rien ne fonctionne.

Merci pour votre aide.

EDIT : J'ai en fait 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 un for -loop qui passe par toutes les légendes :

        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 réessayer en tenant compte de toutes vos suggestions et je reviendrai vers vous. T

J'utilise la version 3.5.3 de Firefox.

5voto

Darrell Brogdon Points 2266
$('caption').text();

ou

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

0voto

Dave Markle Points 44637

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

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

0voto

cjstehno Points 3913

Cela fonctionne dans les dernières versions de Firefox et d'IE :

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

Je ne sais pas pourquoi ça ne marche pas pour vous.

0voto

Mark Snidovich Points 864

Vous devriez essayer l'itérateur intégré de Jquery pour passer en revue chaque élément plutôt que la boucle que vous avez postée.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X