Как получить доступ к тексту в теге ‹caption›?

У меня есть такой HTML:

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

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

I need to get the caption text so I can make some string comparison. I've tried doing .val(), .text(), .html() and .value but none of them work.

Спасибо за вашу помощь.

EDIT: на самом деле у меня есть несколько таких надписей. Извините, я должен был упомянуть об этом раньше.

<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>

Итак, у меня есть цикл for, который проходит через все подписи:

        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 
        }

Я попробую еще раз, учту все ваши предложения и вернусь к вам, ребята. Большое спасибо!!!

Я использую Firefox версии 3.5.3.


person Corrine    schedule 21.12.2009    source источник
comment
.text() или .html() должны работать. Давайте посмотрим на ваш селектор.   -  person Crescent Fresh    schedule 21.12.2009
comment
Еще одна полезная информация — какой браузер и версию вы используете, как видно из всех наших ответов ниже, это должно работать.   -  person cjstehno    schedule 21.12.2009


Ответы (3)


Вы должны попробовать встроенный итератор jquery, чтобы просмотреть каждый элемент, а не тот цикл, который вы разместили.

        $("caption.my_caption").each(function(i,val){
                    alert($(this).text());
                    });
person Mark Snidovich    schedule 21.12.2009

или, если у вас есть объект "таблица", ваш код может выглядеть так:

var myTable = $('table');
var myCaptionText = myTable.find('caption').text();
person Dave Markle    schedule 21.12.2009

Это работает в последних версиях Firefox и IE:

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

Не уверен, почему это не работает для вас.

person cjstehno    schedule 21.12.2009