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问另一个类似的问题,得到简单的答案,甚至没有注意到这是一个重复的问题。针对他/她的问题提供答案是我的选择-我觉得没有必要向你证明这一点-至于学习搜索,这是基于存在重复问题的假设,一个问题这个问题在十分钟内以重复的形式结束了。也许他/她会学习,也许他/她不会。我不认为损失大约两分钟是一种重大浪费,即使它完全被浪费了。