如何使用jQuery仅获取id为valTwo的第一个TD元素的文本值
解决方案
你之前的写法不生效是因为伪类选择器的顺序逻辑错了:原写法是先匹配第一个td元素,再判断它的id是否为valTwo,和你要的「先筛选所有id为valTwo的td,再取第一个」的逻辑不符,两种可直接生效的修改方式如下:
- 修正选择器的顺序
var val2 = tr.find('td[id=valTwo]:first').text();
对应eq写法调整为:
var val2 = tr.find('td[id=valTwo]:eq(0)').text();
- 调用jQuery内置的
.first()方法(可读性更高,更推荐)
var val2 = tr.find('td[id=valTwo]').first().text();
额外提示1:你原代码里的
val valCode = code属于语法错误,JS中没有val关键字,需要改为var valCode = code或者const valCode = code避免运行报错。
额外提示2:HTML标准明确规定同一个页面内ID必须唯一,多个td共用相同id属于不符合规范的写法,后续很容易引发其他DOM操作、样式匹配的异常,建议你把重复的id="valTwo"改为class="valTwo",后续选择器可调整为更规范的写法:tr.find('td.valTwo').first().text()。
内容的提问来源于stack exchange,提问作者Sandro
相关产品推荐
相关产品推荐

