给每个元素一个增加1的类

时间:2016-05-26 12:55:43

标签: jquery

我有这个HTML:

<div class="nbhds-overlay active" style="display: block;">

    <h3><href="#">one</a></h3>
    <h3><href="#">two</a></h3>
    <h3><href="#">three</a></h3>
    <h3><href="#">four</a></h3>

</div>

我想给每个h3一个myclassSOMENUMBERSOMENUMBER,其中h3递增1.我知道有多少元素,但如果可以完成则会很好不知道元素的数量(我认为这将是一个递归函数?)。

无论如何,我尝试了以下内容,它为每个myclass1 myclass3提供了一个myclass1类(可以理解),但我不知道如何分别定位每一个。

基本上在这个具体的例子中,正确完成后他们应该有以下类:myclass2 myclass3 myclass4function classesForNbhds() { var count = $('.nbhds-overlay h3').length; for (var i = 1; i <= count; i++) { $('.nbhds-overlay h3').addClass('myclass'+i); i++; }; } classesForNbhds();

$(document).ready(function(){
  map = new GMaps({
    div: '#map',
    lat: 55,
    lng: -94,
    zoom: 4,
  });       

var sask = 
    [[60.000000, -110.000000], 
    [60.000000, -102.000000],
    [55.812800, -101.999997], 
    [48.999473, -101.362495], 
    [48.999611, -110.004478], 
    [49.000059, -110.005026]];

var poly = map.drawPolygon({
    paths: sask,
    fillColor: '#B3B300',
    strokeColor: '#BBD8E9',
    strokeOpacity: 0.5,
    strokeWeight: 1,
    fillOpacity: 0.3
    });
});

3 个答案:

答案 0 :(得分:4)

您可以使用$().each()方法迭代元素。然后使用addClass()

分配课程
$(".nbhds-overlay h3").each(function(i) {
  $(this).addClass("Myclass" + (i+1));
});

每个方法回调中的第一个参数将是元素的索引。这是i

答案 1 :(得分:2)

&#13;
&#13;
$('.nbhds-overlay h3').addClass(function(i) {
    return 'myClass' + (i + 1);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="nbhds-overlay active" style="display: block;">

    <h3><href="#">one</a></h3>
    <h3><href="#">two</a></h3>
    <h3><href="#">three</a></h3>
    <h3><href="#">four</a></h3>

</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

试试这个:

使用$(&#39; .nbhds-overlay h3&#39;)。each()迭代所有h3标签:

app.theme=my-custom-theme