我有一个asp.net代码,可以创建一个按钮,如下所示:
<a href="#" id="button1" title="Maximize" onclick="function1('span1')" class="button"><span id="span1" class="iconMaximizeLightText">Maximize</span></a>
现在在javascript文件中我在function1函数中执行以下操作:
document.getElementById("button1").innerText = "Minimize";
document.getElementById("button1").value = "Minimize";
document.getElementById("button1").className = "iconMinimizeLightText";
我注意到的是在行之前:“document.getElementById(”button1“)。innerText =”Minimize“;”执行“document.getElementById(”button1“)中的值.innerHTML”是
document.getElementById("button1").innerHTML = "<span id=span1 class=iconMaximizeLightText>Maximize</span>"
但在执行该行后,“document.getElementById(”button1“)中的值.innerHTML”是
document.getElementById("button1").innerHTML = "Minimize"
为什么innerHTML值会改变,因为我只更改了innerText值?
提前致谢。
P.S。对不起,这可能是一个愚蠢的问题,但我几个星期后才开始学习这门语言。
答案 0 :(得分:0)
innerText
和innerHTML
都设置了元素的HTML。不同之处在于innerText
- 顺便说一下,您可能希望使用textContent
代替 - 将转义字符串,以便您无法在其中嵌入HTML内容。
例如,如果您这样做:
var div = document.createElement('DIV');
div.innerText = '<span>Hello</span>';
document.body.appendChild(div);
然后你实际上会在屏幕上看到字符串"<span>Hello</span>"
,而不是"Hello"
(在一个范围内)。
innerText
还有其他一些细微之处,在上面引用的MDN文章中有所涉及。