按ID查找元素,其id包含子字符串并更改样式

时间:2015-03-09 14:14:28

标签: javascript jquery css substring

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

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

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

2 个答案:

答案 0 :(得分:2)

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

$('.stripe').filter('[id*="element_A59"]').removeClass('stripe').addClass('stripe_new'); 将尝试查找子元素。看起来你实际上在寻找匹配元素的ID。

您应该使用filter()功能:

filter()

以下是filter()的作用:

  

描述:将匹配元素集合减少到匹配元素   选择器或传递函数的测试。

基本上,通过将子字符串选择器传递给td.stripe,匹配的element_A59元素将减少为ID属性包含{{1}}的元素。

答案 1 :(得分:1)

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

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