jQuery - Manipulación DOM
JQuery proporciona métodos para manipular DOM de manera eficiente. No es necesario escribir código grande para modificar el valor del atributo de ningún elemento o para extraer código HTML de un párrafo o división.
JQuery proporciona métodos como .attr (), .html () y .val () que actúan como captadores, recuperando información de los elementos DOM para su uso posterior.
Manipulación de contenido
los html( ) El método obtiene el contenido html (innerHTML) del primer elemento coincidente.
Aquí está la sintaxis del método:
selector.html( )
Ejemplo
A continuación se muestra un ejemplo que utiliza los métodos .html () y .text (val). Aquí .html () recupera contenido HTML del objeto y luego el método .text (val) establece el valor del objeto usando el parámetro pasado -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("div").click(function () {
var content = $(this).html();
$("#result").text( content );
});
});
</script>
<style>
#division{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
</style>
</head>
<body>
<p>Click on the square below:</p>
<span id = "result"> </span>
<div id = "division" style = "background-color:blue;">
This is Blue Square!!
</div>
</body>
</html>
Esto producirá el siguiente resultado:
Reemplazo del elemento DOM
Puede reemplazar un elemento DOM completo con los elementos HTML o DOM especificados. losreplaceWith( content ) El método sirve muy bien para este propósito.
Aquí está la sintaxis del método:
selector.replaceWith( content )
Aquí el contenido es lo que quieres tener en lugar del elemento original. Puede ser HTML o texto simple.
Ejemplo
A continuación se muestra un ejemplo que reemplazaría el elemento de división con "<h1> JQuery is Great </h1>" -
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("div").click(function () {
$(this).replaceWith("<h1>JQuery is Great</h1>");
});
});
</script>
<style>
#division{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
</style>
</head>
<body>
<p>Click on the square below:</p>
<span id = "result"> </span>
<div id = "division" style = "background-color:blue;">
This is Blue Square!!
</div>
</body>
</html>
Esto producirá el siguiente resultado:
Eliminar elementos DOM
Puede haber una situación en la que desee eliminar uno o más elementos DOM del documento. JQuery proporciona dos métodos para manejar la situación.
los empty( ) método elimina todos los nodos secundarios del conjunto de elementos coincidentes donde como método remove( expr ) El método elimina todos los elementos coincidentes del DOM.
Aquí está la sintaxis del método:
selector.remove( [ expr ])
or
selector.empty( )
Puede pasar el parámetro opcional expr para filtrar el conjunto de elementos que se eliminarán.
Ejemplo
A continuación se muestra un ejemplo en el que los elementos se eliminan tan pronto como se hace clic en ellos:
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("div").click(function () {
$(this).remove( );
});
});
</script>
<style>
.div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
</style>
</head>
<body>
<p>Click on any square below:</p>
<span id = "result"> </span>
<div class = "div" style = "background-color:blue;"></div>
<div class = "div" style = "background-color:green;"></div>
<div class = "div" style = "background-color:red;"></div>
</body>
</html>
Esto producirá el siguiente resultado:
Insertar elementos DOM
Puede haber una situación en la que desee insertar uno o más elementos DOM nuevos en su documento existente. JQuery proporciona varios métodos para insertar elementos en varias ubicaciones.
los after( content ) método inserta contenido después de cada uno de los elementos coincidentes donde como método before( content ) El método inserta contenido antes de cada uno de los elementos coincidentes.
Aquí está la sintaxis del método:
selector.after( content )
or
selector.before( content )
Aquí el contenido es lo que desea insertar. Puede ser HTML o texto simple.
Ejemplo
A continuación se muestra un ejemplo en el que se insertan elementos <div> justo antes del elemento en el que se hace clic:
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("div").click(function () {
$(this).before('<div class="div"></div>' );
});
});
</script>
<style>
.div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
</style>
</head>
<body>
<p>Click on any square below:</p>
<span id = "result"> </span>
<div class = "div" style = "background-color:blue;"></div>
<div class = "div" style = "background-color:green;"></div>
<div class = "div" style = "background-color:red;"></div>
</body>
</html>
Esto producirá el siguiente resultado:
Métodos de manipulación DOM
La siguiente tabla enumera todos los métodos que puede usar para manipular elementos DOM:
No Señor. | Método y descripción |
---|---|
1 | después (contenido)
Inserte contenido después de cada uno de los elementos coincidentes. |
2 |
añadir (contenido)
Agrega contenido al interior de cada elemento coincidente. |
3 | appendTo (selector)
Agregue todos los elementos coincidentes a otro conjunto de elementos especificado. |
4 | antes (contenido)
Inserte contenido antes de cada uno de los elementos coincidentes. |
5 | clon (bool)
Clone los elementos DOM coincidentes y todos sus controladores de eventos, y seleccione los clones. |
6 | clon ()
Clonar elementos DOM coincidentes y seleccionar los clones. |
7 | vacío ()
Elimine todos los nodos secundarios del conjunto de elementos coincidentes. |
8 | html (val)
Establezca el contenido html de cada elemento coincidente. |
9 | html ()
Obtenga el contenido html (innerHTML) del primer elemento coincidente. |
10 | insertAfter (selector)
Inserte todos los elementos coincidentes después de otro conjunto de elementos especificado. |
11 | insertBefore (selector)
Inserte todos los elementos coincidentes antes de otro conjunto de elementos especificado. |
12 | anteponer (contenido)
Añada contenido al interior de cada elemento coincidente. |
13 | prependTo (selector)
Anteponer todos los elementos coincidentes a otro conjunto de elementos especificado. |
14 | eliminar (expr)
Elimina todos los elementos coincidentes del DOM. |
15 | replaceAll (selector)
Reemplaza los elementos emparejados por el selector especificado con los elementos emparejados. |
dieciséis | replaceWith (contenido)
Reemplaza todos los elementos coincidentes con los elementos HTML o DOM especificados. |
17 | texto (val)
Establezca el contenido de texto de todos los elementos coincidentes. |
18 | texto ()
Obtenga el contenido de texto combinado de todos los elementos coincidentes. |
19 | envolver (elem)
Envuelva cada elemento coincidente con el elemento especificado. |
20 | envolver (html)
Envuelva cada elemento coincidente con el contenido HTML especificado. |
21 | wrapAll (elem)
Envuelva todos los elementos del conjunto combinado en un solo elemento contenedor. |
22 | wrapAll (html)
Envuelva todos los elementos del conjunto combinado en un solo elemento contenedor. |
23 | wrapInner (elem)
Envuelva el contenido secundario interno de cada elemento coincidente (incluidos los nodos de texto) con un elemento DOM. |
24 | wrapInner (html)
Envuelva el contenido secundario interno de cada elemento coincidente (incluidos los nodos de texto) con una estructura HTML. |