15 métodos de JavaScript para la manipulación de DOM para desarrolladores web
Como desarrollador web, con frecuencia necesitas manipular el DOM, El modelo de objetos que utilizan los navegadores para especifique la estructura lógica de páginas web, y en base a esta estructura para renderizar elementos HTML en la pantalla.
HTML define el estructura DOM por defecto. Sin embargo, en muchos casos es posible que desee manipular esto con JavaScript, generalmente para añadir funcionalidades extra a un sitio.
En este post, encontrarás una lista de 15 métodos básicos de JavaScript ese ayuda a la manipulación de DOM. Es probable que utilice estos métodos con frecuencia en su código, y también los encontrará en nuestros tutoriales de JavaScript..
1. querySelector ()
los querySelector ()
método devuelve el primer elemento que coincide con uno o más selectores de CSS. Si no se encuentra ninguna coincidencia, devuelve nulo
.
antes de querySelector ()
fue introducido, los desarrolladores utilizaron ampliamente el getElementById ()
método que obtiene un elemento con un especificado carné de identidad
valor.
A pesar de que getElementById ()
Sigue siendo un método útil, pero con el más nuevo. querySelector ()
y querySelectorAll ()
métodos de los que somos libres elementos de destino basados en cualquier selector de CSS, Así tenemos más flexibilidad..
Sintaxis
var ele = document.querySelector (selector);
ele
- Primer elemento coincidente onulo
(si ningún elemento coincide con los selectores)selector
- uno o más selectores de CSS, tales como"#foId"
,".fooClassName"
,".class1.class2"
, o".clase1, .clase2"
Ejemplo de código
En este ejemplo, la primera párrafo uno párrafo dos párrafo tres Prueba el diferente a Los elementos coincidentes se devuelven como un El siguiente ejemplo utiliza el mismo HTML que el anterior. Sin embargo, en este ejemplo, todos los párrafos se seleccionan con párrafo uno párrafo dos párrafo tres Eventos refiérase a lo que le sucede a un elemento HTML, como hacer clic, enfocar o cargar, a lo que podemos reaccionar con JavaScript. Podemos asignar funciones JS a escucha para estos eventos en elementos y hacer algo cuando el evento haya ocurrido. Hay tres maneras en que puedes asignar una función a un determinado evento. Si El método Detiene la propagación de eventos, es decir, evita la llamada de cualquier detector de eventos para el mismo tipo de evento en los antepasados del elemento. Para usar esta característica, puedes usar 2 sintaxis: Se escucha al oyente solo la primera vez que ocurre el evento, luego se desconecta automáticamente del evento y ya no se activará.. La acción predeterminada del evento no se puede detener con el método preventDefault (). En este ejemplo, agregamos un detector de eventos de clic llamado Asignar el los Utiliza la misma sintaxis que la mencionada. Siguiendo el Ejemplo de Código que usamos en los Posteriormente puede agregar este elemento a la página web usando diferentes Métodos para la inserción de DOM, como Con el siguiente ejemplo, puede crear un nuevo elemento de párrafo: los El niño que se va a insertar puede ser un elemento recién creado, o un ya existente. En este último caso, se moverá de su posición anterior a la posición del último hijo.. En este ejemplo, insertamos un En la siguiente demostración interactiva, cartas de Echa un vistazo a cómo los En este ejemplo, eliminamos el los En este ejemplo el elemento hijo Cuando tienes que crear un nuevo elemento que necesita ser el igual que un elemento ya existente en la página web, simplemente puede crear una copia del elemento ya existente utilizando la En este ejemplo, creamos una copia para el Como resultado, los Si el elemento hijo al que se hace referencia no existe o se pasa explícitamente En este ejemplo, creamos un nuevo Esta demostración interactiva funciona de manera similar a nuestra demostración anterior que pertenece a los Eso crea un ¿Por qué no simplemente agregamos elementos directamente al árbol DOM? Debido a la inserción DOM causa cambios en el diseño, y es un proceso de navegador caro ya que múltiples inserciones de elementos consecuentes causarán más cambios de diseño. Por otro lado, añadiendo elementos a un En este ejemplo, creamos múltiples filas de tablas y celdas con el Como resultado, se insertarán cinco filas, cada una de las cuales contiene una celda con un número del 1 al 5 como contenido, dentro de la tabla. A veces quieres comprueba los valores de propiedad CSS de un elemento antes de realizar cualquier cambio. Puedes usar el En este ejemplo, obtenemos y alertamos a los computados. los En este ejemplo, añadimos la los En este ejemplo, alertamos el valor de la los En este ejemplo, eliminamos el querySelector ()
Método y su color se cambia a rojo..
var firstDiv = document.querySelector ('div'); firstDiv.style.color = 'rojo';
Demostración interactiva
querySelector ()
Método en la siguiente demostración interactiva. Simplemente escriba un selector que coincida con los que puede encontrar dentro de los cuadros azules (por ejemplo,. #Tres
), y haga clic en el botón Seleccionar. Tenga en cuenta que si escribe .bloquear
, solo su primera instancia será seleccionado.2.
querySelectorAll ()
querySelector ()
que devuelve sólo la primera instancia de todos los elementos coincidentes, querySelectorAll ()
devuelve todos los elementos que coinciden con el selector CSS especificado.NodeList
objeto que será un objeto vacío si no se encuentran elementos coincidentes.Sintaxis
var eles = document.querySelectorAll (selector);
eles
- UNA NodeList
Objeto con todos los elementos coincidentes como valores de propiedad. El objeto está vacío si no se encuentran coincidencias.selector
- uno o más selectores de CSS, tales como "#foId"
, ".fooClassName"
, ".class1.class2"
, o ".clase1, .clase2"
Ejemplo de código
querySelectorAll ()
, y son de color azul.
var párrafos = document.querySelectorAll ('p'); para (var p de párrafos) p.style.color = 'azul';
3.
addEventListener ()
foo ()
Es una función personalizada, puedes registrarla. como un detector de eventos de clic (Llámelo cuando se haga clic en el elemento del botón) de tres maneras:
var btn = document.querySelector ('button'); btn.onclick = foo;
var btn = document.querySelector ('button'); btn.addEventListener ('clic', foo);
addEventListener ()
(la tercera solución) tiene algunos pros; Es el último estándar, que permite la asignación de más de una función como oyentes de eventos a un evento, y viene con un conjunto útil de opciones..Sintaxis
ele.addEventListener (evt, listener, [opciones]);
ele
- El elemento HTML que el detector de eventos escuchará..Evt
- El evento apuntado.oyente
- Normalmente, una función de JavaScript.opciones
- (Opcional) Un objeto con un conjunto de propiedades booleanas (enumeradas a continuación).Opciones Lo que sucede, cuando se establece en cierto
?capturar
ele.addEventListener (evt, listener, true)
ele.addEventListener (evt, listener, capture: true);
una vez
pasivo
Ejemplo de código
foo
, al Etiqueta HTML.
var btn = document.querySelector ('button'); btn.addEventListener ('clic', foo); función foo () alerta ('hola');
Demostración interactiva
foo ()
función personalizada como detector de eventos para cualquiera de los tres eventos siguientes: entrada
, hacer clic
o ratón sobre
& dispara el evento elegido en el campo de entrada inferior moviendo el mouse, haciendo clic o escribiendo en él.4.
removeEventListener ()
removeEventListener ()
método separa a un oyente de eventos añadido previamente con el addEventListener ()
método del evento que está escuchando..Sintaxis
ele.removeEventListener (evt, listener, [opciones]);
addEventListener ()
método (excepto para el una vez
opción que está excluida). Las opciones suelen ser muy específicas para identificar al oyente que se va a separar..Ejemplo de código
addEventListener ()
, Aquí eliminamos el detector de eventos de clic llamado foo
desde el elemento.
btn.removeEventListener ('click', foo);
5.
createElement ()
createElement ()
método crea un nuevo elemento HTML utilizando la nombre de la etiqueta HTML ser creado, tal como 'pag'
o 'div'
.Añadir Niño()
(ver más adelante en este post).Sintaxis
document.createElement (tagName);
nombre de etiqueta
- El nombre de la etiqueta HTML que desea crear.. Ejemplo de código
var pEle = document.createElement ('p')
6.
añadir Niño()
añadir Niño()
método Agrega un elemento como último hijo. Al elemento HTML que invoca este método..Sintaxis
ele.appendChild (childEle)
ele
- El elemento HTML al que niño
Se agrega como su último hijo..niño
- El elemento HTML agregado como último hijo de ele
.Ejemplo de código
El elemento es como el hijo de un
añadir Niño()
y lo anterior createElement ()
metodos.
var div = document.querySelector ('div'); var strong = document.createElement ('strong'); strong.textContent = 'Hola'; div.appendChild (fuerte);
Demostración interactiva
#una
a #r
son los elementos hijos de la # padre-uno
, # padre-dos
, y # padre-tres
selectores de identificación.añadir Niño()
método funciona por escribiendo un nombre de selector primario y secundario en los campos de entrada a continuación. También puedes elegir hijos que pertenezcan a otro padre..7.
removeChild ()
removeChild ()
método elimina un elemento hijo especificado Del elemento HTML que llama a este método..Sintaxis
ele.removeChild (childEle)
ele
- El elemento padre de niño
.niño
- El elemento hijo de ele
.Ejemplo de código
Elemento que agregamos como niño a la
añadir Niño()
método. div.removeChild (strong);
8.
replaceChild ()
replaceChild ()
método Sustituye un elemento hijo por otro. Perteneciente al elemento padre que llama a este método..Sintaxis
ele.replaceChild (newChildEle, oldChileEle)
ele
- Elemento padre de los cuales los niños deben ser reemplazados..nuevoChildEle
- Elemento hijo de ele
que reemplazará oldChildEle
.oldChildEle
- Elemento hijo de ele
, que será reemplazado por nuevoChildEle
.Ejemplo de código
perteneciente a la
etiqueta.
var em = document.createElement ('em'); var strong = document.querySelector ('strong'); var div = document.querySelector ('div'); em.textContent = 'hi'; div.replaceChild (em, strong);
9.
cloneNode ()
cloneNode ()
método.Sintaxis
var dupeEle = ele.cloneNode ([deep])
DupeEle
- Copia de la ele
elemento.ele
- El elemento HTML a copiar..profundo
- (Opcional) Un valor booleano. Si está configurado para cierto
, DupeEle
Tendrá todos los elementos hijos ele
tiene, si está configurado para falso
Será clonado sin sus hijos..Ejemplo de código
elemento con
cloneNode ()
, luego lo agregamos a la añadir Niño()
método. elementos, tanto con la
Hola
cadena como contenido.
var strong = document.querySelector ('strong'); var copy = strong.cloneNode (true); var div = document.querySelector ('div'); div.appendChild (copia);
10.
insertBefore ()
insertBefore ()
método agrega un elemento secundario especificado antes de otro elemento secundario. El método es llamado por el elemento padre..nulo
En su lugar, se agrega el elemento hijo a insertar. como el ultimo hijo del padre (Similar a añadir Niño()
).Sintaxis
ele.insertBefore (newEle, refEle);
ele
- Elemento padre.nuevoEle
- Nuevo elemento HTML a insertar.refele
- Un elemento hijo de ele
antes de lo cual nuevoEle
será insertado.Ejemplo de código
Elemento con algún texto dentro, y agregarlo. antes de la
elemento dentro del
var em = document.createElement ('em'); var strong = document.querySelector ('strong'); var div = document.querySelector ('div'); em.textContent = 'hi'; div.insertBefore (em, strong);
Demostración interactiva
añadir Niño()
método. Aquí solo necesita escribir los selectores de ID de dos elementos secundarios (desde #una
a #r
) en los cuadros de entrada, y puede ver cómo insertBefore ()
método mueve el primer hijo especificado antes de el segundo.11.
createDocumentFragment ()
createDocumentFragment ()
Es posible que el método no sea tan conocido como los otros en esta lista, sin embargo es importante, especialmente si desea insertar múltiples elementos a granel, como agregar múltiples filas a una tabla.DocumentFragment
objeto, que esencialmente es un nodo DOM que no es parte del árbol DOM. Es como un búfer donde podemos agregar y almacenar otros elementos (por ejemplo, varias filas) primero, antes de agregarlos al nodo deseado en el árbol DOM (por ejemplo, a una tabla).DocumentFragment
objeto no causa cambios de diseño, de modo que puede agregar tantos elementos como desee antes de pasarlos al árbol DOM, lo que provoca un cambio de diseño solo en este punto.Sintaxis
document.createDocumentFragment ()
Ejemplo de código
createElement ()
método, a continuación, agregarlos a un DocumentFragment
objeto, finalmente agregar ese fragmento de documento a un HTML utilizando la
añadir Niño()
método.
var table = document.querySelector ("table"); var df = document.createDocumentFragment (); para (var i = 0; i<5; i++) var td = document.createElement("td"); var tr = document.createElement("tr"); td.textContent = i; tr.appendChild(td) df.appendChild(tr); table.appendChild(df);
12.
getComputedStyle ()
ele.style
propiedad para hacer lo mismo, sin embargo la getComputedStyle ()
El método se ha hecho sólo para este propósito, devuelve los valores calculados de sólo lectura de todas las propiedades CSS de un elemento HTML específico.Sintaxis
var style = getComputedStyle (ele, [pseudoEle])
estilo
- UNA CSSStyleDeclaration
Objeto devuelto por el método. Contiene todas las propiedades CSS y sus valores de la ele
elemento.ele
- El elemento HTML del que se recuperan los valores de las propiedades CSS..pseudoEle
- (opcional) Una cadena que representa un pseudo-elemento (por ejemplo,, ':después'
). Si se menciona esto, entonces las propiedades CSS del pseudo-elemento especificado asociado con ele
Será devuelto.Ejemplo de código
anchura
valor de un getComputedStyle ()
método.
var style = getComputedStyle (document.querySelector ('div')); alerta (style.width);
13.
setAttribute ()
setAttribute ()
método tampoco agrega un nuevo atributo a un elemento HTML, o actualiza el valor de un atributo que ya existe.Sintaxis
ele.setAttribute (nombre, valor);
ele
- El elemento HTML al que se agrega un atributo, o de qué atributo se actualiza.nombre
- El nombre del atributo.valor
- El valor del atributo.Ejemplo de código
contenteditable
atribuir a un setAttribute ()
Método, que hará que su contenido sea editable.. var div = document.querySelector ('div'); div.setAttribute ('contenteditable', ")
14.
getAttribute ()
getAttribute ()
método devuelve el valor de un atributo especificado pertenecer a un determinado elemento HTML.Sintaxis
ele.getAttribute (nombre);
ele
- El elemento HTML del cual atributo es solicitado.nombre
- El nombre del atributo.Ejemplo de código
contenteditable
atributo perteneciente a la getAttribute ()
método. var div = document.querySelector ('div'); alert (div.getAttribute ('contenteditable'))
15.
removeAttribute ()
removeAttribute ()
método elimina un atributo dado de un elemento HTML específico.Sintaxis
ele.removeAttribute (nombre);
ele
- El elemento HTML del cual atributo debe ser eliminado.nombre
- El nombre del atributo.Ejemplo de código
contenteditable
atributo de la var div = document.querySelector ('div'); div.removeAttribute ('contenteditable');