我有以下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很新,所以我尝试的是一团糟。
希望有人有个主意。
答案 0 :(得分:2)
首先,您似乎在id
和class
之间感到困惑。您在示例标记中使用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
中找到每个函数