如何访问标签中的文本?

时间:2009-12-21 18:19:32

标签: javascript jquery html get caption

我有这样的HTML:

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

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

我需要获取标题文本,以便我可以进行一些字符串比较。我尝试过.val(),. text(),. html()和.value,但都没有。

感谢您的帮助。

编辑: 我实际上有一些这些标题。对不起,我早些时候应该提到这个。

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

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

4 个答案:

答案 0 :(得分:7)

$('caption').text();

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

答案 1 :(得分:0)

或者,如果您有“table”对象,您的代码可能如下所示:

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

答案 2 :(得分:0)

这适用于最新的Firefox和IE:

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

不确定为什么它不适合你。

答案 3 :(得分:0)

你应该尝试使用内置的jquery迭代器来遍历每个元素而不是你发布的那个循环。

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