如何通过ID更改元素的文本(innerHTML)。我很确定我的代码是正确的,在线阅读一些例子但不知何故它不起作用。 代码如图像所示......
另一件事,我想创建if语句将OFF更改为ON,反之亦然。 if text = State:ON,text = State:OFF else text = State:ON。
答案 0 :(得分:1)
应该是
onclick="changefantext()"
要查看它是ON还是OFF,您可以使用String.substring提取文本的最后两个或三个字符。您可以再次使用innerHTML阅读文本。
或者,您可以将属性附加到元素:
if (document.getElementById('fan').isOn == 'undefined') {
document.getElementById('fan').isOn == true;
} else if (document.getElementById('fan').isOn == true) {
// etc.
您最好创建一个引用此元素的对象变量:
var myFan = document.getElementById('fan');
已添加:innerHTML将包含空白,因此无法匹配"状态:OFF" - 也就是说,它并不完全匹配。使用indexOf
发现它是否包含单词" OFF"。如果找到文本,则返回0或更多的数字:
var fan = document.getElementById('fan');
var fanText = fan.innerHTML;
if (fanText.indexOf("OFF") >= 0) {
// it is OFF