无法动态地将值设置为Label

时间:2011-05-25 09:47:17

标签: javascript prototypejs

我有一个标签,如图所示

<label id="label1"></label>

我正在尝试使用

设置其中的值
document.getElementById('label1').text = "ddd";

我也尝试使用Prototype作为

$('label1').text = date1;

但仍然无法正常工作

5 个答案:

答案 0 :(得分:2)

document.getElementById("label1").innerText = "foobar"

或者

document.getElementById("label1").innerHTML = "<b>fatfoo</b>";

答案 1 :(得分:0)

使用innerText或innerHTML属性:

document.getElementById("label1").innerText="ddd";

答案 2 :(得分:0)

尝试.innerHTML,innerText,.textContent,.nodeValue

我只在选择

中看过.text

(我需要停止评论并回答......)

答案 3 :(得分:0)

标签元素应该包含表单控件,例如

<label id="label1" for="firstName">First name:
  <input type="text" name="firstName" id="firstName"></label>

如果您正在使用它,那么您不想替换它的 innerHTML innerText textContent 这样做会完全替换标签的内容(删除标签中的任何元素)。如果您没有以这种方式使用标签,则应使用其他元素,可能是跨度。

虽然 innerHTML 得到广泛支持,但它只是在HTML5中标准化,HTML5仍然是草案。但是,您通常可以假设支持并设置它在浏览器中非常一致。如果除了琐碎的标记之外的任何东西(例如文本和简单的内联元素),获取属性都有缺陷并且不是很一致。

innerText 属性是IE和其他一些浏览器支持的Microsoft专有属性,它绝对不会在没有功能测试的情况下 使用。类似地,W3C DOM 3 textContent 属性不受广泛支持,但通常支持不支持 innerText 的浏览器(一些支持两者)。

进行功能测试并选择要使用的功能非常简单,例如:

if (typeof element.textContent == 'string') {
  // use textContent property

} else if (typeof element.innerText == 'string') {
  // use innerText property
}

其中元素是对DOM元素节点的引用。

最好在span元素中包含要替换的文本,并使用 innerHTML 替换其内容,如果它包含单个文本节点,则为{{1} }。

答案 4 :(得分:0)

使用以下

$('#label1').text(date1);

text是一种方法。