如果我有一个跨度,说:
<span id="myspan"> hereismytext </span>
如何使用JavaScript将“hereismytext”更改为“newtext”?
如果我有一个跨度,说:
<span id="myspan"> hereismytext </span>
如何使用JavaScript将“hereismytext”更改为“newtext”?
当前回答
除了上面的纯javascript答案,你可以使用jQuery文本方法如下:
$('#myspan').text('newtext');
如果你需要扩展答案以获取/更改span或div元素的html内容,你可以这样做:
$('#mydiv').html('<strong>new text</strong>');
引用:
。text (): http://api.jquery.com/text/
. html (): http://api.jquery.com/html/
其他回答
你也可以使用querySelector()方法,假设'myspan' id是唯一的,因为该方法返回带有指定选择器的第一个元素:
document.querySelector('#myspan').textContent = 'newtext';
developer.mozilla
不能用于HTML代码插入,类似于: Var a = "获取文件<a href='url'>的链接</a>" Var b = "获取文件<a href='url'>另一个链接</a>" Var c = "get file <a href='url'>last link</a>"
用 getElementById (myspan”)的文件。textContent = a; 在 <span id=“myspan”>第一个文本</span>
使用计时器,但它只是将引用目标显示为文本,而不是运行代码,即使它在源代码中正确显示。如果jquery方法不是真正的解决方案,使用:
. getelementbyid(“myspan”)。innerHTML = a到c; 是解决问题的最好办法。
对于现代浏览器,您应该使用:
document.getElementById("myspan").textContent="newtext";
虽然旧的浏览器可能不知道textContent,但不建议使用innerHTML,因为当新文本是用户输入时,它会引入XSS漏洞(参见下面的其他答案,了解更详细的讨论):
//POSSIBLY INSECURE IF NEWTEXT BECOMES A VARIABLE!!
document.getElementById("myspan").innerHTML="newtext";
出于某种原因,使用“text”属性似乎是大多数浏览器的通行方式。 这对我很有效
$ (" # span_id”)。文本(“要赋值的文本值”);
你可以使用document.querySelector("[Span]")。textContent = "content_to_display";