У меня есть простой HTML-код с некоторым JavaScript, это выглядит так:
<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>
Я просто хотел иметь возможность изменять содержимое div (это внутренний html) с помощью выбора одной из радиокнопок «A» или «B», но у div # content нет атрибута javascript «value», поэтому я спрашиваю, как это можно быть сделано
javascript
html
обкрадывать
источник
источник
document.getElementById("content").innerText = "<b>bold text?</b>";
будет вести себя по-разному, а иногда и весьма полезно,document.getElementById("content").innerHTML = "<b>bold text?</b>";
innerHTML
вместоinnerText
иtextContent
потомуinnerHTML
совместим со всеми браузерами.innerHTML
может легко привести к уязвимости XSS, когда значение поступает из ненадежного ввода. ИспользованиеinnerText
всегда рекомендуется из соображений безопасности и в настоящее время поддерживается всеми браузерами ( caniuse.com/#feat=innertext )источник
Получите идентификатор
div
содержимого которого вы хотите изменить, затем присвойте текст, как показано ниже:источник
Вы можете использовать следующую вспомогательную функцию:
Где
#content
должен быть действительный селектор CSSВот рабочий пример .
Дополнительно - сегодня (2018.07.01) я провел сравнение скорости для решений jquery и pure js (MacOs High Sierra 10.13.3 на Chrome 67.0.3396.99 (64-разрядная версия), Safari 11.0.3 (13604.5.6), Firefox 59.0.2 (64-разрядная версия)):
Решение jquery было медленнее, чем чистое решение js: 69% на Firefox, 61% на Safari, 56% на Chrome. Самым быстрым браузером для чистого js был firefox с 560M операций в секунду, вторым был safari 426M, а самым медленным был chrome 122M.
Так что победителями стали чистые js и firefox (в 3 раза быстрее, чем хром!)
Вы можете проверить это на своем компьютере: https://jsperf.com/js-jquery-html-content-change
источник
----------------- JS- код ------------
Живой код
https://jsbin.com/poreway/edit?html,js,output
источник
изменить на Нажмите
onClick="changeDivContent(this)"
и попробуйтеПоказать фрагмент кода
источник