我想遍历我的表行,但我总是有一个错误(无法识别的表达式)。 调用每个函数时会出现错误。
我该如何解决这个问题?
提前致谢
这是我的代码:
的jQuery
$("#searchValue").keyup(function() {
var table = $(this).siblings('table').not(':hidden');
$(table +" tr").each(function() {
});
});
HTML
<table id='tablePlanning' class='tablesorter'>
<thead>
<tr>
<th>PR Code</th>
<th>Klant</th>
<th>Description</th>
<th>Project status</th>
<th>Project Leader</th>
<th>Coordinator</th>
<th>Account manager</th>
<th>Billing</th>
<th>Start Datum</th>
<th>Hardware</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<table id='tableProject' class='tablesorter'>
<thead>
<tr>
<th>Project ID</th>
<th>Description</th>
<th>Customer</th>
<th>Status</th>
<th>Max Hours</th>
<th>Achieved</th>
<th>Difference</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
答案 0 :(得分:4)
$(table +" tr")
将获取table
引用的jQuery对象,将其转换为字符串("[object Object]"
),将" tr"
附加到其中,然后尝试使用结果字符串"[object Object] tr"
作为选择器。
您可能想要find
,这是jQuery对象上可用的函数,用于在该jQuery对象的元素中搜索后代元素:
table.find('tr').each(/*...*/);
答案 1 :(得分:0)
您没有循环浏览可见表。
循环遍历可见表并在每个表内循环遍历行。
尝试:
$("#searchValue").keyup(function() {
$("table:visible").each(function() {
$(this).find("tr").each(function(){
//do something
});
});
});
答案 2 :(得分:0)
$(“#searchValue”)。keyup(function(){
$('tr:visible','table.tablesorter:visible').each(function(){
var trObj=$(this);
//-- your code goes here
});
});
使用的选择器说明: 选择所有可见表下的所有可见tr,其中类为“tablesorter”。 &安培; $(this)将引用每个tr对象。