你的代码中有两个问题。首先,你使用了箭头函数
this
关键字将指向外部上下文,而不是
tr
迭代中的元素。要修复此问题,请使用匿名函数,或接收
tr
作为arrow函数的参数。我在下面的例子中做了后者。
第二个问题是你正在使用
filter()
作为迭代器,这是不正确的。
过滤器()
应用于减少jQuery对象中的一组元素。在这种情况下,如果要循环,只需使用
each()
相反
jQuery($ => {
$('#test tr').each((i, tr) => {
console.log($(tr).text().trim());
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<table>
<tbody id="test">
<tr>
<td>example</td>
<td>1</td>
</tr>
<tr>
<td>example</td>
<td>2</td>
</tr>
<tr>
<td>example</td>
<td>3</td>
</tr>
<tr>
<td>example</td>
<td>4</td>
</tr>
</tbody>
</table>