在一个网页中,我调用了一个 WebService,它给我一个整数值。我需要在一个文本块中显示这个值。我目前使用的是 HTML <span>。
<span>
到目前为止,我已经找到了两种方法来将我的价值放在一个范围内。innerText()是一种 IE 专有的方式,而 innerHTML()是一种不符合标准的方式,尽管它得到了广泛的支持。
innerText()
innerHTML()
从 Javascript 中设置 <span>和 </span>之间的文本的正确标准兼容方式是什么?
</span>
要在不使用诸如 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()。
.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:
textContent
var span = document.getElementById("myspan"); span.textContent = "some text";