首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何替换div元素中的文本?

如何替换div元素中的文本?
EN

Stack Overflow用户
提问于 2008-09-23 15:39:40
回答 11查看 577.1K关注 0票数 186

我需要在DIV元素中动态设置文本。最好的浏览器安全方法是什么?我有可用的prototypejs和scriptaculous。

代码语言:javascript
复制
<div id="panel">
  <div id="field_name">TEXT GOES HERE</div>
</div>

下面是该函数的外观:

代码语言:javascript
复制
function showPanel(fieldName) {
  var fieldNameElement = document.getElementById('field_name');
  //Make replacement here
}
EN

回答 11

Stack Overflow用户

发布于 2008-09-23 15:41:08

您可以简单地使用:

代码语言:javascript
复制
fieldNameElement.innerHTML = "My new text!";
票数 273
EN

Stack Overflow用户

发布于 2008-09-23 15:41:02

代码语言:javascript
复制
$('field_name').innerHTML = 'Your text.';

Prototype的一个很好的特性是$('field_name')document.getElementById('field_name')做同样的事情。使用它!:-)

John Topley的答案是使用Prototype的update函数是另一个很好的解决方案。

票数 18
EN

Stack Overflow用户

发布于 2008-09-23 15:48:50

快速的答案是使用innerHTML (或者prototype的更新方法,这几乎是一样的)。innerHTML的问题是你需要避开被赋值的内容。根据您的目标,您将需要使用其他代码或

在IE中:

代码语言:javascript
复制
document.getElementById("field_name").innerText = newText;

在FF中:-

代码语言:javascript
复制
document.getElementById("field_name").textContent = newText;

( FF的实际代码中包含以下内容)

代码语言:javascript
复制
HTMLElement.prototype.__defineGetter__("innerText", function () { return this.textContent; })

HTMLElement.prototype.__defineSetter__("innerText", function (inputText) { this.textContent = inputText; })

现在我可以只使用innerText,如果您需要最广泛的浏览器支持,那么这还不是一个完整的解决方案,在原始版本中使用innerHTML也不是。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/121817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档