我有这个html:
<td class="catName" data-bs-toggle="collapse" data-bs-target=".category1">A</td>
<td class="catName" data-bs-toggle="collapse" data-bs-target=".category2">B</td>
<td class="catName" data-bs-toggle="collapse" data-bs-target=".category3">C</td>
我想使用filter
函数查找具有innerText“A”的类。
尝试使用:
jQuery(".catName").filter(item => jQuery(item).text() == "A");
但它不起作用。
我用的是Jquery
我必须使用filter
。而且我必须使用arrow function
。
3条答案
按热度按时间wgxvkvu91#
在纯JavaScript中(没有jQuery):
...
syntax将NodeList转换为ArrayArray.prototype.forEach()
来迭代你的过滤数组:为了完整起见,在jQuery中,上面的内容可以表示为:
或者,如果您需要一种惰性匹配方法(也可能匹配
"XXA"
)-jQuery的:contains()
选择器vsmadaxz2#
1.由于您的标记是无效的立场没有什么将工作。您需要添加一些相应的表元素。
filter
的第一个参数是index
,item
是第二个参数(这与原生JS数组方法的工作方式相反)。在这个例子中,我用“A”过滤单元格,并将其背景变为红色。
bmp9r5qi3#
<td>
元素至少需要 Package 在<table>
元素标记中,才能对DOM有意义。另一件需要更改的事情是,JQuery
filter()
方法首先接收index
,并将JQueryitem
作为第二个参数。所以你需要filter((i, item) =>
$(".catName").filter((i, item) => $(item).text() == "A");
有关完整示例,请参见JSFiddle:https://jsfiddle.net/Lexdp7rt/