Selección de elementos utilizando las clases CSS definidas.

jQuery incluye una manera útil de obtener y establecer propiedades CSS a los elementos. jQuery ofrece una variedad de métodos para obtener y modificar valores de dimensiones y posición de un elemento.

Manipulando CSS con jQuery

jQuery tiene varios métodos para la manipulación de CSS. Veremos los siguientes métodos:

  • addClass() - Agrega una o más clases a los elementos seleccionados
  • removeClass() - Elimina una o más clases de los elementos seleccionados
  • toggleClass() - Alterna entre agregar / eliminar clases de los elementos seleccionados
  • css() - Establece o devuelve el atributo de estilo

addClass ()

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>

removeClass()

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>

toggleClass ()

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>

:


css()

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>
ffunc6.js

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.