按 class 查找 id 包含子字符串的元素并更改样式
find elements by class whose id contains a substring and change the style
我有一组具有样式(条纹)的元素,我需要在这个集合中找到那些 id 包含子字符串(element_A59)的元素,我需要更改这个子集的样式(stripe_new) 和其他人删除了他们的样式(条纹)。
我用了这句jquery,但是没用:
$('.stripe').find("td[id*=element_A59]").removeClass('stripe').addClass('stripe_new');
没有看到您的标记(例如 .stripe
定义在 td
itslef 上?),很难回答您的问题。
find()
将尝试定位子元素。看起来您实际上是在寻找匹配元素的 ID。
您可能应该使用 filter()
函数:
$('.stripe').filter('[id*="element_A59"]').removeClass('stripe').addClass('stripe_new');
filter()
的作用如下:
Description: Reduce the set of matched elements to those that match
the selector or pass the function's test.
所以本质上,通过将子字符串选择器传递给 filter()
,匹配的 td.stripe
元素将被缩减为 ID 属性包含 element_A59
.
的元素
您可以使用属性包含选择器和 class 选择器来获取所需的元素:
$('td[id*=element_A59].stripe').removeClass('stripe').addClass('stripe_new');
我有一组具有样式(条纹)的元素,我需要在这个集合中找到那些 id 包含子字符串(element_A59)的元素,我需要更改这个子集的样式(stripe_new) 和其他人删除了他们的样式(条纹)。
我用了这句jquery,但是没用:
$('.stripe').find("td[id*=element_A59]").removeClass('stripe').addClass('stripe_new');
没有看到您的标记(例如 .stripe
定义在 td
itslef 上?),很难回答您的问题。
find()
将尝试定位子元素。看起来您实际上是在寻找匹配元素的 ID。
您可能应该使用 filter()
函数:
$('.stripe').filter('[id*="element_A59"]').removeClass('stripe').addClass('stripe_new');
filter()
的作用如下:
Description: Reduce the set of matched elements to those that match the selector or pass the function's test.
所以本质上,通过将子字符串选择器传递给 filter()
,匹配的 td.stripe
元素将被缩减为 ID 属性包含 element_A59
.
您可以使用属性包含选择器和 class 选择器来获取所需的元素:
$('td[id*=element_A59].stripe').removeClass('stripe').addClass('stripe_new');