¿Cómo agregar una clase usando jQuery?
Frecuentes
Visto 31,566 veces
6
Hice una pequeña función cuyo trabajo para agregar clase en <li>
cuando hacemos clic enli>
, pero quiero quitar eso si ya se tiene con <li>
.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="CoffeeCup HTML Editor (www.coffeecup.com)">
<meta name="created" content="Tue, 22 May 2012 12:39:23 GMT">
<meta name="description" content="">
<meta name="keywords" content="">
<title></title>
<style type="text/css">
<!--
body {
color:#000000;
background-color:#FFFFFF;
}
a { color:#0000FF; }
a:visited { color:#800080; }
a:hover { color:#008000; }
a:active { color:#FF0000; }
-->
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('.main').find('li').each(function(){
$(this).live('click', function (){
$(this).addClass('active')
})
})
})
</script>
</head>
<body>
<ul class="main">
<li>first</li>
<li>second</li>
<li>third</li>
<li>fourth</li>
</ul>
</body>
</html>
3 Respuestas
13
Puedes usar toggleClass
esto lo agregará o eliminará según sea necesario
$('.main li').live('click',function(){
$(this).toggleClass('active');
});
si desea eliminar esta clase de otro lugar, puede agregar una línea adicional:
$('.main li').live('click',function(){
$('.main li.active').removeClass('active')
$(this).addClass('active');
});
Respondido el 30 de diciembre de 13 a las 19:12
2
Usa la función jquery .toggleClass
.
$('.main li').click( function(){
$(this).toggleClass('active');
});
Eso debería hacer el truco ;) http://api.jquery.com/toggleClass/
contestado el 22 de mayo de 12 a las 13:05
0
Esto funcionará prueba...
$("#button").click(function(){
$(".addclass").addClass("add");
})
$("#button2").click(function(){
$(".addclass").removeClass("add");
})
.add{
color:red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="addclass">Sample text to add class on it</p>
<button id="button">Add Class</button>
<button id="button2">Remove Class</button>
respondido 03 mar '20, 10:03
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas jquery css or haz tu propia pregunta.
cuando hacemos clic en el primer li, está agregando la clase activa ahora quiero que si hacemos clic en el segundo li, entonces se debe eliminar la primera clase li - Jitender
Como sugirió Jamiec, puedes agregar
$('.main li.active').removeClass('active')
- TwisterStudios