1

我有一个 jquery 脚本来为图像生成标题。但是现在我想计算带有标题的元素,并将适当的数字作为一个类添加到图像类中。我知道如何计算(.length),但是如何从每个元素中使用适当的数字?

http://jsbin.com/ugemih/6/edit#javascript,html,live

BR

4

4 回答 4

5

将变量传递给传递给的函数each(),它将保存当前元素的编号:

$('.foo').each(function (i) {
    $(this).addClass('foo-' + i);
});
于 2012-07-03T12:46:01.513 回答
0

通过这种方式可以实现动态修改类名。

$('.test').each(function (e) { 
    $(this).addClass('test_' + e); 
}); 
于 2012-07-03T12:48:56.523 回答
0

如果您只想设置元素的类,无论有没有 jQuery,这都非常简单!快速使用 jQuery .attr()函数将允许您更改任何类,即类。

$("[div to change]").attr("class", "[class_name]" + [number]);

在这里,我将 设置class[class_name][1,2,3...]。因此,如果[class_name]washello[number]were 5,它将设置classhello5

或者,如果您想class在对象中添加一个(保持任何适当的样式),您可以使用 jQuery 的.addClass()函数:

$("[div to change]").addClass("[class_name]" + [number]);

这将为您的对象添加一个类似命名class的对象。

于 2012-07-03T12:53:36.870 回答
0

你有什么不能使用css的原因吗?有一个伪选择器,nth-child。

a:nth-child(1){color: #123;}
a:nth-child(2){color: #456;}
a:nth-child(3){color: #789;}

等等。

使用Selectivizr将使这项工作在 IE6 到 8 中工作。之后,支持 nth-child。这意味着您现在可以开始编写更智能、基于标准的 css,并且该脚本将使其在 IE 中工作。

You can do everything in javascript if you want, but you should use css for applying styles, and if you can do that instead of adding classes using javascript, your site will be more efficient, and easier to maintain.

于 2012-07-03T12:56:37.010 回答