El resultado esperado es que la segunda línea debe estar en negrita:
es regular
es audaz
Tengo este código y quiero separar la etiqueta. La salida html es: "está en negrita" está fuera del archivo . ¿Es posible separar la etiqueta html usando múltiples innerHTML ?
var content = document.getElementById("content"); content.innerHTML += "it's regular"; content.innerHTML += "<br><b>"; content.innerHTML += "it's bold"; content.innerHTML += "</b>"; <div id="content"></div>Debido a que está escribiendo directamente en el innerHTML del elemento, su navegador está trabajando horas extras entre las cuatro líneas (donde cambia el HTML interno) para asegurarse de que el HTML tenga sentido. En la segunda línea, agrega una etiqueta <b> no cerrada, por lo que el navegador hace todo lo posible para asegurarse de que tenga sentido después de este cambio: cierra la etiqueta. Ahora, cuando agregue texto más tarde y luego agregue una etiqueta de cierre, no tiene sentido cerrar una etiqueta ya cerrada.
Te recomiendo que uses una variable intermedia aquí, te permitirá hacer casi exactamente lo mismo que antes. Ejemplo a continuación.
var content = document.getElementById("content"); let newHtml = '' newHtml += "it's regular"; newHtml += "<br><b>"; newHtml += "it's bold"; newHtml += "</b>"; content.innerHTML = newHtml <div id="content"></div>¿Por qué necesitas hacer eso en varias líneas? Simplemente puedes hacerlo en una línea:
var content = document.getElementById("content"); content.innerHTML += "it's regular<br/><b>it's bold</b>";Pero si insiste en hacerlo en varias líneas, es una buena idea usar una variable y después de un html válido agregarlo a su html:
var content = document.getElementById("content"); let firstlineHtml= "it's regular"; firstlineHtml += "<br><b>"; firstlineHtml += "it's bold"; firstlineHtml += "</b>"; content.innerHTML = firstlineHtml; <div id="content"></div>