不使用任何JavaScript框架,如何动态更改SPAN
元素中的文本。
我知道如何使用DIV
执行此操作,它将如下所示:
document.getElementById('myDiv').innerHTML = '...'
对于SPAN
元素,这相当于什么?
答案 0 :(得分:24)
getElementById()完全按照名称暗示:获取id属性等于参数的元素;所以,如果你有一个名为“mySpan”的范围,你的代码应该是:
document.getElementById('mySpan').innerHTML = '...'
答案 1 :(得分:6)
innerHTML
会起作用,但如果您不知道自己在做什么,在某些情况下会很危险。它可以插入HTML标签,而不仅仅是文本,可能会让您受到XSS攻击等。
textContent
带有innerText
后备,有些人建议这是一个更好的主意,因为您不必担心脚本注入等。
如果您不必支持IE8及更早版本,请使用textContent
,不要回退。 IE9及更高版本支持textContent
。
答案 2 :(得分:4)
该特定技术适用于任何元素,但在div等元素上使用它时需要注意的是它将替换内部元素而不仅仅是文本。
如果您只想替换文本,可以通过以下方式替换:
function replaceText( el, str ) {
el.textContent ? el.textContent = str : el.innerText = str;
}
replaceText( spanReference, 'blah' )
答案 3 :(得分:0)
您也可以将spanHTML用于span元素。
当你试图这样做时发生了什么?
您可以查看以下简要示例: http://bytes.com/topic/javascript/answers/149023-there-faster-way-change-span-innerhtml