Установить содержание HTML <span>с помощью Javascript - PullRequest
53 голосов
/ 24 января 2011

На веб-странице я вызываю веб-сервис, который дает мне целочисленное значение.Мне нужно отобразить это значение в блоке текста.В настоящее время я использую HTML <span>.

. До сих пор я нашел два метода размещения моего значения в промежутке.innerText() - это запатентованный способ IE, а innerHTML() - нестандартный способ, хотя и широко поддерживаемый.

Какой правильный стандарт соответствует способу установки текста между <span> и </span> из Javascript?

Ответы [ 4 ]

58 голосов
/ 24 января 2011

Это стандарт, совместимый с браузером.

Пример: http://jsfiddle.net/kv9pw/

var span = document.getElementById('someID');

while( span.firstChild ) {
    span.removeChild( span.firstChild );
}
span.appendChild( document.createTextNode("some new content") );
42 голосов
/ 09 апреля 2014

В современных браузерах вы можете установить свойство textContent, см. Node.textContent :

var span = document.getElementById("myspan");
span.textContent = "some text";
19 голосов
/ 24 января 2011

Чтобы сделать это без использования библиотеки JavaScript, такой как jQuery, вы должны сделать это так:

var span = document.getElementById("myspan"),
    text = document.createTextNode(''+intValue);
span.innerHTML = ''; // clear existing
span.appendChild(text);

Если вы хотите использовать jQuery, это просто так:

$("#myspan").text(''+intValue);
1 голос
/ 24 января 2011

Максимально совместимый со стандартами способ сделать это состоит в том, чтобы создать текстовый узел, содержащий текст, который вы хотите, и добавить его к диапазону (удалив все существующие в настоящее время текстовые узлы).

На самом деле я бы использовал jQuery .text().

...