在网页中,我调用的是一个给我一个整数值的WebService。我需要在一个文本块中显示这个值。我目前正在使用HTML <span>
。
到目前为止,我发现了两种将我的价值放在一个范围内的方法。 innerText()
是IE专有的一种方式,innerHTML()
是一种非标准兼容的方式,虽然受到广泛支持。
在Javascript中<span>
和</span>
之间设置文字的正确标准是什么?
答案 0 :(得分:55)
这符合标准且跨浏览器安全。
示例: http://jsfiddle.net/kv9pw/
var span = document.getElementById('someID');
while( span.firstChild ) {
span.removeChild( span.firstChild );
}
span.appendChild( document.createTextNode("some new content") );
答案 1 :(得分:41)
使用现代浏览器,您可以设置textContent
属性,请参阅Node.textContent:
var span = document.getElementById("myspan");
span.textContent = "some text";
答案 2 :(得分:18)
要在不使用jQuery之类的JavaScript库的情况下执行此操作,您可以这样做:
var span = document.getElementById("myspan"),
text = document.createTextNode(''+intValue);
span.innerHTML = ''; // clear existing
span.appendChild(text);
如果你想使用jQuery,就是这样:
$("#myspan").text(''+intValue);
答案 3 :(得分:1)
符合Maximally Standards Compliant的方法是创建一个包含所需文本的文本节点,并将其附加到span(删除任何当前存在的文本节点)。
我实际做的方法是使用jQuery的.text()
。