JQUERY获取id = xyz的每个表格单元格的内容

时间:2011-08-24 15:15:42

标签: jquery html

我有以下HTML表格:

<table class="xyz">
    [...] 
    <tbody>
        [...]
        <tr>
            [...]
            <td class="id9">some content</td>
            <td class="id39">some content</td>
        </tr>
        [...]
        <tr>
            [...]
            <td class="id9">some content</td>
            <td class="id39">some content</td>
        </tr>
        [...]
    </tbody>
    [...]

所以我有一些带ID的单元格,现在我想用id=39获取所有单元格的内容。

我尝试的是在所有td上使用每个函数,然后使用value.attr('id')检查id,最后使用contains检查id。

我对jQuery很新,所以我尝试的是一团糟。

希望有人有个主意。

5 个答案:

答案 0 :(得分:2)

首先,您似乎在idclass之间感到困惑。您在示例标记中使用class,这是正确的方法,因为您在同一文档中不能有重复的id值。但是,您一直提到要根据id选择项目。

类选择器.将允许您选择具有特定类的所有元素。所以在你的情况下:

$(".id39")

将选择class="id39"的所有元素。然后,您可以使用each迭代匹配元素集,并使用值执行任何您喜欢的操作:

$(".id39").each(function() {
    var currentValue = $(this).text();
});

如果您只想将一些jQuery方法应用于所有选定的元素,那么您不必费心使用each。例如,要隐藏所有匹配的元素:

$(".id39").hide(); //Hides all elements with class "id39"

答案 1 :(得分:0)

这样的东西
$("td.id9").each(function(){  
  .... 

 });

应该有效。

答案 2 :(得分:0)

那些不是ids,它们是课程。您可以使用jQuery选择器$("td.id39");来检索表格单元格。 ID是唯一的,而类可以应用于许多元素。

答案 3 :(得分:0)

扩展Tyler Eaves答案,如果你想将所有内容收集到一个串联字符串中,你可以简单地做...

var text = '';
$('td.id9').each(function(i, elem) { text += $(elem).text(); });

此外,您可以将其转换为可重复使用的函数,该函数将ID号作为输入参数...

function GetTdContent(id) {
    var text = '';
    $('td.id' + id).each(function(i, elem) { text += $(elem).text(); });
    return text;   
}

答案 4 :(得分:0)

为了清楚起见,您的示例显示了将类设置为id39而不是id属性的tds,假设这是正确的,您将需要使用以下内容:

$(".id39").each( function () {
    //do some stuff
});

有关JQuery的更多信息,可以在API Docs

中找到每个函数