Jquery 如何根据属性值选择特定tr

Jquery 如何根据属性值选择特定tr,jquery,Jquery,我得到了这个表格: <table id="mytable"> <thead> <tr role="row"> <th aria-controls="dog"></th> <th aria-controls="cat"></th> <th aria-controls="fish"></th> </tr> </thead> </table> 什么是上帝的方

我得到了这个表格:

<table id="mytable">
<thead>
<tr role="row">
<th aria-controls="dog"></th>
<th aria-controls="cat"></th>
<th aria-controls="fish"></th>
</tr>
</thead>
</table>
什么是上帝的方式 如果我能避免在所有tr上循环,那就更好了


谢谢:)

您可以按属性值的大小选择元素,如下所示:

var element = $('th[aria-controls="dog"]')
var element = $('[aria-controls]')
有关属性等于选择器的详细信息,请参见此处:

作为旁注,
th
甚至不需要测试属性的值。您可以简单地选择具有该属性的所有元素,而不考虑其值,如下所示:

var element = $('th[aria-controls="dog"]')
var element = $('[aria-controls]')
有许多方法可以使用此选择器。您甚至可以找到具有该属性的开始、结束或包含该值的元素

以:
var元素=$('[aria控件|=“dog”]')开头。
ex:doggg

以:
var-element=$('[aria-controls$=“dog”]')结尾。
ex:adog

包含:
var元素=$('[aria控件*=“狗”]')
ex:bdogb

不相等:
var元素=$('[aria控件!=“dog”]')
ex:cat


有关属性选择器的详细信息,请参见此处:

您遇到的问题:

$("th").attr("aria-controls"="dog");
主要是它是一个语法错误(
uncaughtreferenceerror:assignment中的左侧无效
);这是因为
attr()
方法有两种用途,即获取或设置值

如果提供一个参数,则它是一个getter,并返回给定属性的值:

$('th').attr('aria-controls');
然后将从
$('th')
元素集合返回的第一个/唯一的元素返回
aria controls
属性的值

要将属性设置为给定值,请执行以下操作:

$('th').attr('aria-controls', 'aria-controls new value');
它将
aria controls
属性的属性值设置为
'aria-controls new value'
的提供值(方法的第二个参数)

您将注意到,这两种方法都没有使用赋值(
=
)运算符

要通过元素的给定属性和属性值查找元素,需要使用CSS中的属性等于(
[attribute=attribute value]
)选择器语法:

$('th[aria-controls=dog]');

不要尝试这个,因为这是一个语法错误。你先用谷歌搜索。问题是通过谷歌搜索问题名称来找到文档的链接,真的回答了吗?当然,我明白你的意思。但他们确实展示了一些他们尝试的代码,所以这只是帮助。他们没有展示代码,只是胡乱猜测,我不知道OP为什么要在他们的代码中包含它。但即使它被认为是代码,这个问题也不是问题。这只是一篇特定的文档,OP没有读过。OP所做的基本上是在函数参数中为常量赋值,看到了吗?基本上,OP只是没有阅读1)功能2)作业;两件基本的事情。想解释一下吗?有什么原因或目的吗?我只是想为OP的问题提供一个具体的答案,尽管最后它是另一个问题的复制品;希望通过这种方式,他/她可以了解自己的尝试失败的原因,并在提出问题之前在未来进行搜索。OP没有自己尝试学习,并在这里提出了一个懒惰的问题……至于未来的搜索-提供答案如何帮助未来的搜索?下次OP问另一个类似的问题,得到简单的答案,甚至没有注意到这是一个重复的问题。针对他/她的问题提供答案是我的选择-我觉得没有必要向你证明这一点-至于学习搜索,这是基于存在重复问题的假设,一个问题这个问题在十分钟内以重复的形式结束了。也许他/她会学习,也许他/她不会。我不认为损失大约两分钟是一种重大浪费,即使它完全被浪费了。