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

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

3.5
(2)

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!

¿Te ha gustado esta publicación?

¡Valora sobre 5 estrellas esta publicación!

Puntuación media 3.5 / 5. Votos: 2

Todavía no hay votos. Sé el primero en valorar la entrada.

Si te ha gustado este contenido...

¡Sígueme en las redes!

Vaya, parece que hay puntos a corregir

¿Me ayudas a mejorar?

¿Dónde he fallado?

Francesc Ricart
hola@francescricart.com

Aprender y enseñar. Enseñar y aprender. En el ámbito docente soy docente ocupacional. En el ámbito profesional consultor web. Ofrezco servicios de mejora continua y mantenimiento web. ¿Qué quieres aprender hoy? Encontraréis más acerca de mi en la página sobre mi

4 Comments
  • borja g gonzález
    Posted at 01:26h, 21 enero Responder

    Buenas,

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

    Un saludo

    • Francesc Ricart
      Posted at 10:31h, 21 enero Responder

      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,

  • Bor
    Posted at 19:01h, 21 enero Responder

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

Post A Comment