Tengo un código HTML simple con algunos javascript, se ve así:
<html>
<head>
<script type="text/javascript">
function changeDivContent() { // ...
};
</script>
</head>
<body>
<input type="radio" name="radiobutton" value="A" onClick="changeDivContent()">
<input type="radio" name="radiobutton" value="B" onClick="changeDivContent()">
<div id="content"></div>
</body>
</html>
Solo quería poder cambiar el contenido del div (es html interno) seleccionando uno de los botones de radio "A" o "B", pero el contenido div # no tiene el atributo "valor" de JavaScript, por lo que pregunto cómo puede ser hecho
javascript
html
Robar
fuente
fuente
document.getElementById("content").innerText = "<b>bold text?</b>";
se comportará de manera diferente, y a veces bastante útil, paradocument.getElementById("content").innerHTML = "<b>bold text?</b>";
innerHTML
lugar deinnerText
ytextContent
porqueinnerHTML
es compatible con todos los navegadores.innerHTML
puede conducir fácilmente a vulnerabilidades XSS cuando el valor proviene de una entrada no confiable. El uso deinnerText
siempre se recomienda por razones de seguridad y actualmente es compatible con todos los navegadores ( caniuse.com/#feat=innertext )fuente
Obtenga la identificación de
div
cuyo contenido desea cambiar y luego asigne el texto de la siguiente manera:fuente
puede usar la siguiente función auxiliar:
Donde
#content
debe haber un selector CSS válidoAquí está el ejemplo de trabajo .
Además: hoy (2018.07.01) hice una comparación de velocidad para jquery y soluciones js puras (MacOs High Sierra 10.13.3 en Chrome 67.0.3396.99 (64 bits), Safari 11.0.3 (13604.5.6), Firefox 59.0.2 (64 bits)):
La solución jquery fue más lenta que la solución js pura: 69% en firefox, 61% en safari, 56% en cromo. El navegador más rápido para js puro fue Firefox con 560 millones de operaciones por segundo, el segundo fue Safari 426M y el más lento fue Chrome 122M.
Entonces los ganadores son js puro y firefox (¡3 veces más rápido que Chrome!)
Puede probarlo en su máquina: https://jsperf.com/js-jquery-html-content-change
fuente
----------------- Código JS-------------------
Código en vivo
https://jsbin.com/poreway/edit?html,js,output
fuente
cambie a Haga clic
onClick="changeDivContent(this)"
e intenteMostrar fragmento de código
fuente