jQuery循环遍历元素以输入文本和更改类

时间:2015-01-23 22:59:49

标签: javascript jquery css

我正在尝试编写一个函数来更改由每个带有id的单元格组成的表中项目的字体颜色。该表有18列和49行,所以我需要编写函数来遍历所有这些条目。

表div ID名为" Game1Player1,Game1Player2 ...... Game49Player18

目前,我使用一行代码为每个单元格填充这些单元格

document.getElementById("Game1Player1").innerHTML = Game1Player1Name;
document.getElementById("Game1Player2").innerHTML = Game1Player2Name;
document.getElementById("Game49Player18").innerHTML = Game49Player18Name;

当我尝试使用以下Javascript添加一个类时,它不起作用,我看不出有什么问题

document.getElementById("Game1Player1").addClass += " Tsub1a";

然而,当我尝试使用这个JQuery函数时,它可以实现一种处理

$(document).ready( function() {
$('#Game1Player1').addClass( 'Tsub1a' );
} );

知道原因会很好,但为了解决我的问题,我更喜欢使用JQuery函数。

如果Game1Player1Sub ===" Sub 1",Game1Player1Sub ===&#,如何让它成为循环通过所有18个玩家和49个游戏以根据条件更改字体颜色的功能34; Sub 2",....直到" Sub 7"

对于JQuery来说,我是一个完整的新手,所以任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

理想情况下,您的表格单元格也会有一个类,因此您可以将第二行写为:

$(".game-player").addClass("tsub1a");

jQuery会将具有此类的所有单元格收集到一个对象中,并将addClass()应用于它们。

答案 1 :(得分:0)

您可以执行以下操作 - $('div[id*=Game][id*=Player]')来选择所有元素。

另外,为了给你一个想法,你可以使用这些模式搜索属性 -

$('div[id^=test]') - 搜索ID为test

的所有div

$('div[id$=test]') - 搜索id以test

结尾的所有div

$('div[id*=test]') - 在id

中的任意位置搜索所有带有测试的div

您的最后一段有点令人困惑,但如果我理解正确,您希望迭代这些项目并相应地应用课程,如果是的话 -

$('div[id*Game][id*Player]').each(function(index, item){
    $(item).addClass('Tsub' + item.id.split('Player')[1] + 'a');
});

如果没有,请重新提问,以便我们能够正确理解。