使用innerHTML改变p元素的内容
changing content of p element using innerHTML
我有以下脚本:
var before = document.getElementById('before');
if (switchElement.value == 'single'){
for (var i=0; i < before.length; i++) {
if (before[i].id == "before_label") {
before[i].innerHTML = 'Image';
break;
}
}
after.style.display = 'none';
}
和HTML看起来像:
<div id="before">
<p id="before_label"> Before Image: </p>
<input type="file" name="before" size="40">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000">
</div>
想知道为什么它不工作,改变内部html改变?
要访问before_label
的innerHTML
,只需直接访问它:
document.getElementById('before_label').innerHTML = 'Image';
getElementById只返回一个元素。你需要通过childNodes来访问子对象。
试试这个:
var before = document.getElementById('before').childNodes;
if (switchElement.value == 'single'){
for (var i=0; i < before.length; i++) {
if (before[i].id == "before_label") {
before[i].innerHTML = 'Image';
break;
}
}
after.style.display = 'none';
}
为什么使用for循环?只需要通过id获取元素:
var before_label = document.getElementById('before_label');
if (switchElement.value == 'single') {
before_label.innerHTML = 'Image';
after.style.display = 'none';
}
相关文章:
- 使用元素的值与innerHTML
- innerHTML赢得't改变元素
- 如何避免在更改画布元素时清除它's容器's innerHtml
- 与任何元素的 .innerHTML 属性匹配的 JavaScript 正则表达式
- 什么是输入元素上的innerHTML
- 如何通过搜索innerHTML的内容来获取HTML元素
- 如何在单击时切换元素的innerHTML
- 获取包装's的innerHTML,包括用户在输入元素中输入的值
- Protractor:在innerhtml的基础上获取元素
- 将一个元素中的innerHTML替换为另一个具有Javascript的innerHTML
- jquery 函数不适用于通过 innerHTML 写入的元素
- 将元素innerHTML替换为其自身的副本会更改文档高度
- 这个jQuery元素innerHTML语句有什么问题
- 使用Javascript更改HTML元素innerHTML部分的CSS属性
- 谷歌Chrome浏览器不更新iframe元素innerHTML动态变化后,在JavaScript
- 元素.innerHTML不提供完整的数据
- Javascript:元素.innerHTML += "…"重置文件输入'
- JQuery -根据元素innerHTML更改属性
- 关于改变元素InnerHTML的基本Javascript查询
- 获得原始的dom元素innerHTML没有javascript处理