用 Javascript 设置 HTML < span > 的内容

在一个网页中,我调用了一个 WebService,它给我一个整数值。我需要在一个文本块中显示这个值。我目前使用的是 HTML <span>

到目前为止,我已经找到了两种方法来将我的价值放在一个范围内。innerText()是一种 IE 专有的方式,而 innerHTML()是一种不符合标准的方式,尽管它得到了广泛的支持。

从 Javascript 中设置 <span></span>之间的文本的正确标准兼容方式是什么?

168519 次浏览

要在不使用诸如 jQuery 之类的 JavaScript 库的情况下完成这项工作,可以这样做:

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

如果你想使用 jQuery,只需要这样做:

$("#myspan").text(''+intValue);

最大标准兼容的方法是创建一个包含所需文本的文本节点,并将其附加到 span (删除任何当前存在的文本节点)。

我实际上要做的是使用 jQuery 的 .text()

这是标准兼容和跨浏览器安全的。

示例: < a href = “ http://jsfiddle.net/kv9pw/”> http://jsfiddle.net/kv9pw/

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


while( span.firstChild ) {
span.removeChild( span.firstChild );
}
span.appendChild( document.createTextNode("some new content") );

使用现代浏览器,您可以设置 textContent属性,参见 TextContent:

var span = document.getElementById("myspan");
span.textContent = "some text";