按 ID 包含子字符串的类查找元素并更改样式

find elements by class whose id contains a substring and change the style

本文关键字:元素 样式 查找 包含 ID 字符串      更新时间:2023-09-26

我有一组带有样式(条纹)的元素,我需要在这个集合中找到那些 id 包含子字符串 (element_A59) 的元素,我需要更改样式 (stripe_new) 和其他元素删除它们的样式(条纹)。

我使用了这个jquery句子,但它不起作用:

$('.stripe').find("td[id*=element_A59]").removeClass('stripe').addClass('stripe_new');

如果没有看到你的标记(例如,.stripe在 itslef td上定义?),很难回答你的问题。

find()将尝试查找子元素。看起来您实际上是在寻找匹配元素的 ID。

您可能应该使用 filter() 函数:

$('.stripe').filter('[id*="element_A59"]').removeClass('stripe').addClass('stripe_new');

以下是filter()的作用:

描述:将匹配的元素集

减少为匹配的元素集 选择器或通过函数的测试。

所以本质上,通过将子字符串选择器传递给filter(),匹配的td.stripe元素将减少为ID属性包含element_A59的元素。

你可以使用属性包含选择器和类选择器来获取所需的元素:

$('td[id*=element_A59].stripe').removeClass('stripe').addClass('stripe_new');