Установить содержимое HTML <span> с помощью Javascript
На веб-странице я вызываю WebService, который дает мне целочисленное значение. Мне нужно отобразить это значение в блоке текста. В настоящее время я использую HTML <span>
.
До сих пор я нашел два метода ввода моего значения в промежутке. innerText()
является проприетарным способом IE, а innerHTML()
является нестандартным способом, хотя широко поддерживается.
Каков правильный способ соответствия текста между <span>
и </span>
из Javascript?
Ответы
Ответ 1
Это совместимый со стандартами и кросс-браузер.
Пример: http://jsfiddle.net/kv9pw/
var span = document.getElementById('someID');
while( span.firstChild ) {
span.removeChild( span.firstChild );
}
span.appendChild( document.createTextNode("some new content") );
Ответ 2
В современных браузерах вы можете установить свойство textContent
, см. Node.textContent:
var span = document.getElementById("myspan");
span.textContent = "some text";
Ответ 3
Чтобы сделать это, не используя библиотеку JavaScript, такую как jQuery, вы бы сделали это следующим образом:
var span = document.getElementById("myspan"),
text = document.createTextNode(''+intValue);
span.innerHTML = ''; // clear existing
span.appendChild(text);
Если вы хотите использовать jQuery, это просто:
$("#myspan").text(''+intValue);
Ответ 4
Максимально соответствующий стандартам способ состоит в том, чтобы создать текст node, содержащий нужный текст и добавить его в диапазон (удаление любых существующих существующих текстовых узлов).
Как я бы это сделал, это использовать jQuery .text()
.