简体   繁体   English

动态地将类添加到另一个类的特定实例

[英]Dynamically adding classes to a specific instance of another class

I'm trying to add a class to a specific instance of another class, while modifying the name of the class. 我正在尝试将一个类添加到另一个类的特定实例,同时修改该类的名称。 This is the code i have: 这是我的代码:

for(var i = 0; i<3; i++){
            $('.formEntry')[i].addClass("form" + i);
    }

This is the code before the function is ran: 这是函数运行之前的代码:

<fieldset class = "formEntry"></fieldset>
<fieldset class = "formEntry"></fieldset>
<fieldset class = "formEntry"></fieldset>

and this is the desired output. 这是所需的输出。

<fieldset class = "formEntry form1"></fieldset>
<fieldset class = "formEntry form2"></fieldset>
<fieldset class = "formEntry form3"></fieldset>

Please help! 请帮忙!

You can use .each() for loop through all elements and add class using .addClass() method. 您可以使用.each()遍历所有元素,并使用.addClass()方法添加类。

 $(document).ready(function() { $(".formEntry").each(function(i) { $(this).addClass("form" + (i+1)); }) }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <fieldset class = "formEntry"></fieldset> <fieldset class = "formEntry"></fieldset> <fieldset class = "formEntry"></fieldset> 

You don't have to use each . 您不必使用each addClass takes function as well. addClass具有功能。

$('formEntry').addClass(function(i) { return 'form' + (i+1) })

Use this code for add class dynamically in loop... 使用此代码在循环中动态添加类...

 jQuery(document).ready(function(){ var i=1; jQuery('.formEntry').each(function(){ jQuery(this).addClass('form'+i); i++; }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <fieldset class = "formEntry"></fieldset> <fieldset class = "formEntry"></fieldset> <fieldset class = "formEntry"></fieldset> 

You can use slice() : 您可以使用slice():

for(var i = 0; i < 3; ++i){
 $('.formEntry').slice(i,(i + 1)).addClass("form" + i);
}

API JQuery API jQuery

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM