You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery通过ID和自定义属性匹配指定可见tr元素

问题根源

你的选择器写法错误:多个属性筛选条件中间加了空格,jQuery 中选择器的空格代表后代选择器,你之前写的tr[id=someID] [someAttribute=' + attributeValue + ']实际逻辑是「查找 id 为 someID 的 tr 元素内部,带有 someAttribute 等于指定值的后代元素」,自然匹配不到目标 tr 本身。


修正方案

多个筛选条件连续书写、中间不加空格,所有条件都会作用在同一个 tr 元素上,同时建议 id 选择器直接用#简写、属性值包裹引号避免特殊字符报错,完整代码如下:

function GetTRValue(){
   var attributeValue = 'Attribute1';
   // 选择器无空格,所有条件匹配同一个tr元素
   var tr = $('tr#someId[someAttribute="' + attributeValue + '"]:visible');
   // 增加非空判断避免未匹配到时取值报错
   if (tr.length > 0) {
       var otherAttribute = tr.attr('otherAttribute');
       console.log('获取到的otherAttribute值:', otherAttribute);
   } else {
       console.log('未匹配到符合条件的元素');
   }
}

额外注意事项

  • 注意 id 大小写要和 HTML 保持一致:你示例中 HTML 里的 id 是someId(末尾d小写),之前的代码里写的是someID(末尾D大写),如果实际代码里大小写不统一也会匹配失败。
  • 自定义属性更推荐遵循 HTML 规范使用data-前缀命名,比如改为data-some-attribute,读取时可以直接用tr.data('some-attribute'),兼容性更好。

内容的提问来源于stack exchange,提问作者Sandro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:09:05