[英]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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.