Crear, modificar y eliminar párrafos en una web con javascript

3.5
(2)

Publicado

Aviso importante web en obras

Es posible que el contenido que estás visualizando tenga un formato un poco raro o que se haya perdido algún contenido. Esto se debe a que en 2023/09 decidí renovar la página y con más de 1000 escritos el trabajo de irlos revisando uno por uno es agotador. Poco a poco iré corrigiendo todos los contenidos. ¡Gracias por la comprensión!

Crear, modificar, eliminar nodos en Javascript

En este ejercicio vamos crear, modificar y eliminar nodos.

Te será de utilidad repasar las instrucciones

  • createElement()
  • appendChild(), insertBefore()
  • removeChild()

Previamente te sugiero leer esta entrada dónde se explica la teoría.

Enunciado

A continuación se te muestra el código html de un documento web con 5 párrafos.

En el interior del script encontrarás las instrucciones:

  1. Que en el tercer párrafo haya un enlace con el texto «+ info» creado con javacript y que enlace a https://francescricart.com
  2. Inserta un párrafo de color rojo entre el tercer y el cuarto párrafos
  3. Elimina el segundo párrafo [1]

Obsevación: Para facilitar la comprensión del enunciado se ha escrito manualmente un número en cada párrafo.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Poner un enlace dentro de un párrafo</title>
</head>
<body>
	<p>1. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quidem esse dicta alias dolore odio odit iusto facilis harum tempora labore, rem doloribus dolorum consequatur modi praesentium commodi blanditiis quo cupiditate.</p>
	<p>2. Adipisci, quibusdam reprehenderit odio error corporis dolore deleniti, reiciendis iure facere, ut temporibus natus voluptatem. Voluptas architecto, nisi praesentium quo, repudiandae incidunt vitae quae aut amet laboriosam ut eaque deserunt!</p>
	<p>3. Deleniti sunt voluptatum, ipsa, officiis doloribus corrupti iusto! Doloribus dolor nesciunt sapiente vel, fugiat, sint ad impedit explicabo laborum earum recusandae eum! Quod, ducimus pariatur excepturi labore consequuntur corporis autem?</p>
	<p>4. Vero aperiam, ipsum unde doloribus minima ab, sint nulla molestiae autem dicta ad laborum voluptas labore et officia sapiente voluptatibus perferendis voluptatem optio veritatis placeat consequatur aspernatur? Corporis, impedit, pariatur.</p>
	<p>5. Distinctio quas, impedit inventore quod! Incidunt ab in, quidem deleniti repellendus odit quisquam, quis pariatur, doloribus adipisci culpa nesciunt! Vero, soluta maxime provident minus voluptates esse, distinctio culpa labore deserunt.</p>

<script>
//que en el tercer párrafo haya un enlace con el texto "+ info" creado con javacript y que enlace a https://francescricart.com


//inserta un párrafo de color rojo entre el tercer y el cuarto párrafos


//elimina el segundo párrafo [1]	


</script>
	
</body>
</html>

Solución del ejercicio

Para resolver la primera pregunta es importante que tengas en cuenta que si no añades contenido en el interior del enlace no lo verás físicamente.

Se da el caso de alumnos que lo resuelven correctamente pero que al no ver el enlace piensan que lo han hecho mal.

En relación a la segunda pregunta, fíjate que la instrucciónnodoPadre.insertBefore(nodoAnadir, antesDeQuien) es un poco especial. En el caso de este ejercicio requerimos acceder al body para que realmente se inserten los nodos.

Finalmente en la tercera y última pregunta se proponen dos expresiones equivalentes.

//que en el tercer párrafo haya un enlace con el texto "+ info" creado con javacript y que enlace a https://francescricart.com

	var zParrafos = document.querySelectorAll("p") //array de nodos párrafo;

	var zEnlace = document.createElement("a");
	 zEnlace.href="https://francescricart.com";
	 zEnlace.innerHTML = "+ info";
	 zParrafos[2].appendChild(zEnlace); 

//inserta un párrafo de color rojo entre el tercer y el cuarto párrafos
	var zParrafoNuevo = document.createElement("p");
	zParrafoNuevo.innerHTML = "nuevo texto con javascript";
	zParrafoNuevo.style.color = "red";

	var zBody = document.querySelectorAll("body")[0];
	zBody.insertBefore(zParrafoNuevo , zParrafos[3]);

//elimina el segundo párrafo [1]	

	zBody.removeChild(zParrafos[1]);
	// zParrafos[1].parentNode.removeChild(zParrafos[1]);

¡Hola!

Querido lector,

¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!

4 respuestas a «Crear, modificar y eliminar párrafos en una web con javascript»

  1. Avatar de borja g gonzález
    borja g gonzález

    Buenas,

    Tengo una duda, ¿Por qué pones document.querySelectorAll(«body»)[0];? porque poner el [0]?.

    Un saludo

    1. Avatar de Francesc Ricart

      buenos días,
      fíjate que en el documento sólo puede haber una etiqueta body. querySelectorAll devuelve un array. en caso de que el querySelectorAll encuentre el nodo body estará en la posición [0] del array. por este motivo hay que ponerlo. (siempre accedemos al primer elemento del array contando a partir del 0.
      saludos,

  2. Avatar de Bor
    Bor

    Buenas!
    Muchas gracias por contestar y tan rápido, desearle lo mejor es poco.
    Un saludo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *