contenido html dentro del intervalo usando javascript

Tengo un lapso y 5 estructuras html diferentes que básicamente involucran listas y divs.

tengo 5 botones Al hacer clic en cada botón, el contenido del intervalo debería cambiar a una de estas estructuras.

Sé que se puede hacer tan fácilmente como usar

document.getElementById("a").innerHTML = "<div> A </div>";

Pero si tengo una estructura html de 20-30 líneas, ¿es este el mejor enfoque? ¿O hay alguna manera mejor?

preguntado el 27 de julio de 12 a las 21:07

2 Respuestas

Si va a tener un montón de botones de este tipo, debe utilizar una función a la que pueda llamar con los datos pasados ​​para no tener que volver a escribir las cosas una y otra vez, algo así como

function insertHTML(id, content) {
    document.getElementById(id).innerHTML = content;
}

Luego, puede poner una función onclick en su elemento de botón como este:

<div class="button" onclick="insertHTML('idoftarget', '<div>html</div>')"></div>

Respondido 27 Jul 12, 21:07

¿No sería completamente similar a lo que hice? En lugar de poner la estructura html en la parte de javascript, esto la pone en la parte html. - Anurag Ramdasan

Sí. Pensé que su objetivo no era tener un montón de las mismas líneas (con diferentes elementos de destino y contenido) repetidas una y otra vez. - Mike Brant

en realidad, mi objetivo principal era tener el contenido html perfectamente organizado en el lado de javascript para que el html se pueda ver y entender fácilmente. pero javascript tiene problemas con el texto de varias líneas, ¿verdad? puedo poner el contenido en el " UN " porción a través de varias líneas? - Anurag Ramdasan

En primer lugar, su ejemplo no es válido. Una etiqueta div no debe ir dentro de un a etiqueta o una span etiqueta.

Tomaría cada una de las 5 muestras de HTML que desea inyectar y las convertiría en cadenas en su JS y luego simplemente usaría innerHTML para colocarlas en el contenedor respectivo cuando el usuario haga clic en uno de los botones.

Respondido 27 Jul 12, 21:07

¿No puedes poner un div dentro de un div? - Ian

Tampoco está poniendo un div dentro de una etiqueta. - Testamento

Error tipográfico de @ianpgall, he corregido mi publicación cambiando la segunda mención de div a span - Austincheney

entonces, ¿lo que está diciendo es convertir toda la estructura html en una cadena y luego ponerla en html interno? - Anurag Ramdasan

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