Jquery以特定模式获取所有DIV并将类添加到其中

时间:2013-01-10 09:23:04

标签: jquery design-patterns find

我使用第三方工具,它会生成如下数字的div。

<div style="height:auto;" class="datagrid-cell datagrid-cell-c1-F1246"></div>
<div style="height:auto;" class="datagrid-cell datagrid-cell-c1-F1247">1</div>
<div style="height:auto;" class="datagrid-cell datagrid-cell-c1-F1248"></div>
<div style="height:auto;" class="datagrid-cell datagrid-cell-c1-F1249">1</div>

我喜欢使用jquery来查找class =“datagrid-cell datagrid-cell-XX-XXXX”的所有div,并使用div = 1中的内容来更改css背景颜色。

注意:XX-XXX可以是任何不固定长度的数字。

我试过单细胞但没有改变背景颜色。

$('div').find('datagrid-cell datagrid-cell-c1-F1249').css('background-color', 'red'); 

我怎样才能做到这一点?有人可以帮忙吗?

5 个答案:

答案 0 :(得分:3)

试试这个:

$('[class^=datagrid-cell datagrid-cell]:contains("1")').css('background-color', 'red');

或者如果你也可以使用所有单元格上的datagrid-cell类,你可以简化为:

$('.datagrid-cell:contains("1")').css('background-color', 'red');

答案 1 :(得分:1)

您需要通配符选择器starts with。您可以阅读有关here

以上选择器的更多信息
$('[class^=datagrid-cell datagrid-cell:contains(1)]').css('background-color', 'red');

答案 2 :(得分:0)

这不是一个类,而是一组两个类,这应该这样做:

$('div').find('.datagrid-cell.datagrid-cell-c1-F1249').css('background-color', 'red'); 

答案 3 :(得分:0)

试试这个:

$('div.datagrid-cell:contains('1')').css('background-color', 'red');

这将选择所有具有“datagrid-cell”类且包含值“1”的div元素。您的元素包含两个类“datagrid-cell”和自动生成的“datagrid-cell-XX-XXXXX”。

答案 4 :(得分:0)

你可以试试这个:

$('.parent').find('div[class^="datagrid-cell datagrid-cell-"]:contains(1)').css('background', 'red');

$('div[class^="datagrid-cell datagrid-cell-"]:contains(1)').css('background','red');