jQuery tiene varios métodos para la manipulación de CSS. Veremos los siguientes métodos:
El método addClass () agrega uno o más nombres de clase a los elementos seleccionados.
Este método no elimina los atributos de clase existentes, solo agrega uno o más nombres de clase al atributo de clase.
Consejo: para agregar más de una clase, separe los nombres de las clases con espacios.
El siguiente ejemplo muestra cómo agregar atributos de clase a diferentes elementos. Por supuesto, puede seleccionar varios elementos al agregar clases:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("h1, h2, p").addClass("blue");
$("p").addClass("red");
$("div").addClass("important");
});
});
</script>
<style>
.important {
font-weight: bold;
font-size: xx-large;
}
.blue {
color: blue;
}
.red {
font-family:arial;
color: red;
}
</style>
</head>
<body>
<h1>Titulo 1</h1>
<h2>Titulo 2</h2>
<p>Este es un parrafo.</p>
<p>Este es otro parrafo.</p>
<div>Este es un texto importante</div><br>
<button>Agregar clases a elementos</button>
</body>
</html>
El método removeClass() elimina uno o más nombres de clase de los elementos seleccionados.
Nota: Si no se especifica ningún parámetro, este método eliminará TODOS los nombres de clase de los elementos seleccionados.
El siguiente ejemplo elimina el nombre de la clase "intro" de todos los <p> elementos:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("p").removeClass("intro");
});
});
</script>
<style>
.intro {
font-size: 120%;
color: red;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p class="intro">This is a paragraph.</p>
<p class="intro">This is another paragraph.</p>
<button>Remove the "intro" class from all p elements</button>
</body>
</html>
El método toggleClass () alterna entre agregar y eliminar uno o más nombres de clase de los elementos seleccionados..
Este método comprueba cada elemento para los nombres de clase especificados. Los nombres de clase se agregan si faltan y se eliminan si ya están configurados. Esto crea un efecto de alternancia.
Sin embargo, al usar el parámetro "cambiar", puede especificar que solo se elimine o que solo se agregue un nombre de clase.
El ejemlo permite alternar entre agregar y eliminar el nombre de clase "principal" para todos los elementos
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("p").toggleClass("main");
});
});
</script>
<style>
.main {
font-size: 120%;
color: red;
}
</style>
</head>
<body><button>Alterna la clases "main" para los elementos p </button>
<p>Texto </p>
<p>Segundo texto.</p>
<p><b>Nota::</b> haga clic en el botón más de una vez para ver el efecto de alternancia.</p>
</body>
</html>
:
El método css() establece o devuelve una o más propiedades de estilo para los elementos seleccionados.
Para devolver el valor de una propiedad CSS especificada, utilice la siguiente sintaxis:
El siguiente ejemplo devolverá el valor de color de fondo del parrafo elemento coincidente:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
alert("Background color = " + $("p").css("background-color"));
});
});
</script>
</head>
<body>
<h2>Este es el encabezado</h2>
<p style="background-color:#00ff00">Texto en el parrafo</p>
<button>Devuelve el background-color del elemento p</button>
</body>
</html>
Recordemos que definimos clases en CSS cuando una regla de estilo puede ser igual para un conjunto de marcas HTML.
Mediante este nombre de clase podemos acceder a todos los elementos utilizando la función $:
x=$(".nombre de clase");
problema:Mostrar una serie de lenguajes de programación y aplicar un estilo resaltado para aquellos lenguajes que son orientados a objetos. Cuando se presione un botón agregar la propiedad background-color a todos los elementos de dicha clase.
<!DOCTYPE html> <html> <head> <title>Ejemplo de jQuery</title> <meta charset="UTF-8"> <link rel="StyleSheet" href="estilos6.css" type="text/css"> </head> <body> <p>Cuales de los siguientes lenguajes son orientados a objetos: <span class="resaltado">Java</span>, VB6, <span class="resaltado">C++</span>, C, <span class="resaltado">C#</span>, Cobol ?</p> <input type="button" id="boton1" value="ver resultado"> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script src="func6.js"></script> </body> </html>
let x = $(document); x.ready(inicializarEventos); function inicializarEventos() { let x = $("#boton1"); x.click(resaltar); } function resaltar() { let x = $(".resaltado"); x.css("background-color", "#ffff00"); }
estilos6.css
.resaltado{ color:#000000; }
El código nuevo es:
let x = $(".resaltado"); x.css("background-color", "#ffff00");
Primero generamos un objeto jQuery que guarda la referencia a todos los elementos que tienen definida la clase .resalatado y luego fijamos como color de fondo el amarillo a dichos elementos.