我有一个jquery脚本来生成图像标题。 但是现在我想用标题计算元素,并将相应的数字作为类添加到图像类中。 我知道如何计算(.length)但我如何使用每个元素中的适当数字?
http://jsbin.com/ugemih/6/edit#javascript,html,live
BR
答案 0 :(得分:5)
将变量传递给传递给each()
的函数,它将保存当前元素的数字:
$('.foo').each(function (i) {
$(this).addClass('foo-' + i);
});
答案 1 :(得分:0)
可以通过这种方式动态修改类名。
$('.test').each(function (e) {
$(this).addClass('test_' + e);
});
答案 2 :(得分:0)
如果您只想设置元素的类,那么使用或而不使用jQuery非常容易!快速使用jQuery .attr()函数将允许您更改任何类,即类。
$("[div to change]").attr("class", "[class_name]" + [number]);
我已将class
设置为[class_name][1,2,3...]
。因此,如果[class_name]
为hello
且[number]
为5
,则会将class
设置为hello5
。
或者,如果您想要向对象添加class
(保持任意位置样式),您可以使用jQuery的.addClass()函数:
$("[div to change]").addClass("[class_name]" + [number]);
这将为您的对象添加一个类似名称的class
。
答案 3 :(得分: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中运行。
如果你愿意,你可以在javascript中完成所有工作,但你应该使用css来应用样式,如果你可以这样做而不是使用javascript添加类,那么你的网站将更有效,更容易维护。