使用Javascript设置HTML <span>的内容

Bri*_*ett 55 html javascript dhtml

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

到目前为止,我已经找到了两种方法来将我的价值放在一个范围内. innerText()是一种IE专有的innerHTML()方式,虽然受到广泛支持,但它是一种非标准兼容的方式.

什么是设置的文本的正确的符合标准的方式<span>,并</span>从Javascript?

use*_*716 58

这符合标准并且跨浏览器安全.

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

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

while( span.firstChild ) {
    span.removeChild( span.firstChild );
}
span.appendChild( document.createTextNode("some new content") );
Run Code Online (Sandbox Code Playgroud)


rob*_*nst 47

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

var span = document.getElementById("myspan");
span.textContent = "some text";
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案,因为它更容易阅读和更干净 (2认同)

Bri*_*van 19

要在不使用jQuery等JavaScript库的情况下执行此操作,您可以这样做:

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

如果你确实想使用jQuery,那就是这样:

$("#myspan").text(''+intValue);
Run Code Online (Sandbox Code Playgroud)

  • 你可以做`.text(intValue)`.不需要通过串联进行强制字符串转换. (6认同)