Los datos de enlace no funcionan en d3.js

Estoy tratando de generar html usando el método .enter.

Tengo el siguiente código:

alert(d3.select(".ul_class").length);
d3.select(".ul_class").data([4, 8, 15]).enter().append("li").text("hello");

La primera alerta muestra "1", por lo que el objeto está correctamente seleccionado. La segunda línea no agrega elementos "li" dentro de mi objeto DOM.

¿Qué estoy haciendo mal? Gracias

preguntado el 22 de mayo de 12 a las 16:05

1 Respuestas

Tienes que crear una selección (vacía) de li elementos primero:

d3.select(".ul_class")
  .selectAll('li') // <--
  .data([4, 8, 15]).enter().append("li").text("hello");

Luego vincula los datos a esa selección vacía, lo que generará marcadores de posición en la selección para los nuevos datos.

Así que básicamente estás diciendo:

"Seleccionar todo li elementos y vincular los datos [4, 8, 15] a ellos Para todos los elementos de datos que aún no están vinculados, cree un nuevo li elemento."

DEMO

contestado el 22 de mayo de 12 a las 16:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.