Ich habe einfachen HTML-Code mit etwas Javascript, es sieht so aus:
<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>
Ich wollte nur in der Lage sein, den Inhalt des Div (es ist inneres HTML) zu ändern, indem ich eines der Optionsfelder "A" oder "B" auswähle, aber der Inhalt von div # hat kein Javascript-Attribut "value", also frage ich, wie es geht getan werden.
javascript
html
rauben
quelle
quelle
document.getElementById("content").innerText = "<b>bold text?</b>";
document.getElementById("content").innerHTML = "<b>bold text?</b>";
innerHTML
anstattinnerText
undtextContent
weilinnerHTML
ist mit allen Browsern kompatibel.innerHTML
kann leicht zu XSS-Schwachstellen führen, wenn der Wert von einer nicht vertrauenswürdigen Eingabe stammt. Die Verwendung voninnerText
wird aus Sicherheitsgründen immer empfohlen und wird derzeit von allen Browsern unterstützt ( caniuse.com/#feat=innertext )quelle
Rufen Sie die ID des
div
Inhalts ab, dessen Inhalt Sie ändern möchten, und weisen Sie den folgenden Text zu:quelle
Sie können folgende Hilfsfunktion verwenden:
Wo
#content
muss ein gültiger CSS-Selektor sein ?Hier ist ein Arbeitsbeispiel .
Zusätzlich - heute (2018.07.01) habe ich einen Geschwindigkeitsvergleich für jquery- und reine js-Lösungen durchgeführt (MacOs High Sierra 10.13.3 auf Chrome 67.0.3396.99 (64-Bit), Safari 11.0.3 (13604.5.6), Firefox 59.0.2 (64-Bit)):
Die jquery-Lösung war langsamer als die reine js-Lösung: 69% auf Firefox, 61% auf Safari, 56% auf Chrom. Der schnellste Browser für reine JS war Firefox mit 560 Millionen Operationen pro Sekunde, der zweite war Safari 426 Millionen und der langsamste war Chrome 122 Millionen.
Die Gewinner sind also reine Js und Firefox (3x schneller als Chrom!)
Sie können es auf Ihrem Computer testen: https://jsperf.com/js-jquery-html-content-change
quelle
----------------- JS- Code ------------
Live-Code
https://jsbin.com/poreway/edit?html,js,output
quelle
onClick to
onClick="changeDivContent(this)"
und versuche esCode-Snippet anzeigen
quelle