1

我有这样的 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 循环:

        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

4 回答 4

7
$('caption').text();

或者

$('.my_caption').text();
于 2009-12-21T18:22:21.237 回答
0

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

var myTable = $('table');
var myCaptionText = myTable.find('caption').text();
于 2009-12-21T18:25:22.057 回答
0

这适用于最新的 Firefox 和 IE:

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

不知道为什么它不适合你。

于 2009-12-21T18:29:06.743 回答
0

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

        $("caption.my_caption").each(function(i,val){
                    alert($(this).text());
                    });
于 2009-12-21T18:41:20.803 回答