Eu tenho um código HTML simples com algum javascript, parece com:
<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>
Eu só queria poder alterar o conteúdo da div (é html interno) selecionando um dos botões de opção "A" ou "B", mas o conteúdo da div # não tem o atributo javascript "value", por isso estou perguntando como pode ser feito.
javascript
html
Roubar
fonte
fonte
document.getElementById("content").innerText = "<b>bold text?</b>";
irá se comportar de maneira diferente, e por vezes bastante útil, paradocument.getElementById("content").innerHTML = "<b>bold text?</b>";
innerHTML
vez deinnerText
etextContent
porqueinnerHTML
é compatível com todos os navegadores.innerHTML
pode facilmente levar a vulnerabilidades XSS quando o valor vem de uma entrada não confiável. O uso deinnerText
é sempre recomendável por razões de segurança e atualmente é suportado por todos os navegadores ( caniuse.com/#feat=innertext )fonte
Obtenha o ID do
div
conteúdo cujo você deseja alterar e atribua o texto como abaixo:fonte
você pode usar a seguinte função auxiliar:
Onde
#content
deve ser um seletor CSS válidoAqui está um exemplo de trabalho .
Adicionalmente - hoje (2018.07.01) fiz a comparação de velocidade para soluções jquery e js pure (MacOs High Sierra 10.13.3 no Chrome 67.0.3396.99 (64 bits), Safari 11.0.3 (13604.5.6), Firefox 59.0.2 (64 bits)):
A solução jquery era mais lenta que a solução js pura: 69% no firefox, 61% no safari, 56% no chrome. O navegador mais rápido para js puros foi o firefox com operações de 560M por segundo, o segundo foi o safari 426M e o mais lento foi o Chrome 122M.
Portanto, os vencedores são puros js e firefox (3x mais rápido que o chrome!)
Você pode testá-lo em sua máquina: https://jsperf.com/js-jquery-html-content-change
fonte
----------------- Código JS- ------------
Código ao vivo
https://jsbin.com/poreway/edit?html,js,output
fonte
Clique em
onClick="changeDivContent(this)"
e tenteMostrar snippet de código
fonte