我有一个包含8个div的列表,需要使用Jquery为它们添加一个类号序列,以单独设置它们的样式。需要将它们添加到“content-block”div中,请参见下面的示例。
所需的效果如下所示:
<div class="wrapper">
<div id="content-block" *class="post1"*>
</div></div>
<div class="wrapper">
<div id="content-block" *class="post2"*>
</div></div>我已经添加了脚本
**Javascript**
$('.post-block').each(function(i){
$(this).addClass('post' + i);})但我需要链接他们与锚链接,所以我需要一种方法来添加一个ID的帖子块。
Desired effect
**HTML**
<div id="post1" class="post-block">
</div>
<div id="post2" class="post-block">
</div>非常感谢
发布于 2010-08-12 04:45:55
首先,一个ID在一个页面上只能使用一次。您可以在一个页面上多次使用类。
正因为如此,我使content-block成为一个类,并且我使您的各种post1,post2...ids。
下面的函数将遍历在wrapper类中具有content-block类的元素的,并为每个元素添加适当的id。对于each()的回调函数,可以使用index和value作为参数。我创建了一个单独的num变量,因为index从零开始。
在each函数中,您还可以使用this而不是value。
jQuery:
$.each($(".wrapper > .content-block"), function(index, value){
var num = index + 1;
$(value).attr("id","post"+ num);
});发布于 2010-08-12 04:44:42
您可以使用以下命令:
$(".content-block").each(function(i){
$(this).addClass("post" + i);
})Obs:我使用的是类选择器(".content-block")而不是id选择器("#content-block")。
发布于 2010-08-12 04:49:25
您可能会将唯一的CSS与类混淆,后者通常用于为元素提供通用的外观。下面是如何为标记中的所有元素分配唯一ID的方法:
$('.wrapper').find('div').each(function(index){
$(this).attr('id', 'unique-' + ++index);
});https://stackoverflow.com/questions/3462549
复制相似问题