Files

2.5 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7fa6367417b2b2512bc2 Agrega elementos de documento con D3 6 301474 add-document-elements-with-d3

--description--

D3 tiene varios métodos que te permiten agregar y cambiar elementos en tu documento.

El método select() selecciona un elemento del documento. Toma un argumento para el nombre del elemento que deseas y devuelve un nodo HTML para el primer elemento del documento que coincide con el nombre. He aquí un ejemplo:

const anchor = d3.select("a");

El ejemplo anterior encuentra la primera etiqueta de anclaje en la página y guarda un nodo HTML para ella en la variable anchor. Puedes utilizar la selección con otros métodos. La parte d3 del ejemplo es una referencia al objeto D3, que es la forma de acceder a los métodos D3.

Otros dos métodos útiles son append() y text().

El método append() toma un argumento para el elemento que deseas agregar al documento. Agrega un nodo HTML a un elemento seleccionado y devuelve un identificador a ese nodo.

El método text() establece el texto del nodo seleccionado u obtiene el texto actual. Para establecer el valor, pasa una cadena como argumento dentro del paréntesis del método.

Aquí hay un ejemplo que selecciona una lista desordenada, agrega un elemento de lista y agrega texto:

d3.select("ul")
  .append("li")
  .text("Very important item");

D3 te permite encadenar varios métodos junto con puntos para realizar una serie de acciones seguidas.

--instructions--

Utiliza el método select para seleccionar la etiqueta body en el documento. Luego, append una etiqueta h1 y agrega el texto Learning D3 en el elemento h1.

--hints--

El body debe tener un elemento h1.

assert($('body').children('h1').length == 1);

El elemento h1 debe tener el texto Learning D3.

assert($('h1').text() == 'Learning D3');

Tu código debe acceder al objeto d3.

assert(code.match(/d3/g));

Tu código debe utilizar el método select.

assert(code.match(/\.select/g));

Tu código debe utilizar el método append.

assert(code.match(/\.append/g));

Tu código debe utilizar el método text.

assert(code.match(/\.text/g));

--seed--

--seed-contents--

<body>
  <script>
    // Add your code below this line



    // Add your code above this line
  </script>
</body>

--solutions--

<body>
  <script>
    d3.select("body")
      .append("h1")
      .text("Learning D3")
  </script>
</body>