如何用jQuery遍历tbody的tr并获取子元素的对应值
遍历表格tbody获取tr内指定元素的值
没问题,我来帮你搞定这个需求!你已经成功用jQuery遍历了每个<tr>元素,接下来只需要在每个tr的上下文里精准定位到你要的元素就行,具体实现如下:
修改后的完整代码
$('#myTbody > tr').each(function() { // 获取当前tr下第一个hidden input的value const hiddenValue = $(this).find('input[type="hidden"]').val(); // 获取当前tr下第一个td的文本内容 const tdText = $(this).find('td').first().text(); // 打印结果验证 console.log(`hidden value: ${hiddenValue}, td text: ${tdText}`); });
代码细节解释
- $(this):在each循环里它代表当前遍历到的
<tr>元素,所有查找操作都基于这个上下文,能避免全局查找时的元素混淆问题。 $(this).find('input[type="hidden"]'):在当前tr内部定位type为hidden的input元素,因为你的结构里每个tr只有一个这类input,直接调用.val()就能拿到它的value值。$(this).find('td').first():在当前tr内部找到所有td元素,取第一个后用.text()提取它的文本内容(也就是你要的Test1、Test2这类内容)。
备选精准写法
如果担心tr内出现其他input干扰结果,也可以直接通过子元素选择器定位第一个input:
const hiddenValue = $(this).children('input').first().val();
或者直接通过索引定位第一个td:
const tdText = $(this).children('td').eq(0).text();
这样每次循环就能准确拿到你需要的两个值啦,测试一下就能看到控制台输出对应的结果了~
内容的提问来源于stack exchange,提问作者Max Boy
相关产品推荐
相关产品推荐

