用Javascript设置HTML <span>的内容

在一个网页,我打电话给一个WebService,给我一个整数值。 我需要在一个文本块中显示这个值。 我目前正在使用HTML <span>

到目前为止,我已经find了两种把我的价值放在一个范围内的方法。 innerText()是一种IE专有的方式, innerHTML()是一种非标准兼容的方式,尽pipe得到了广泛的支持。

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

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

例如: http : //jsfiddle.net/kv9pw/

 var span = document.getElementById('someID'); while( span.firstChild ) { span.removeChild( span.firstChild ); } span.appendChild( document.createTextNode("some new content") ); 

使用现代浏览器,您可以设置textContent属性,请参阅Node.textContent :

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

要做到这一点,而不使用jQuery等JavaScript库,你可以这样做:

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

如果你想使用jQuery,只是这样的:

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

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

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