使用Javascript基于ID更改innerHTML不起作用

时间:2013-07-07 01:43:46

标签: javascript html css web

如何通过ID更改元素的文本(innerHTML)。我很确定我的代码是正确的,在线阅读一些例子但不知何故它不起作用。 代码如图像所示......

Code example

另一件事,我想创建if语句将OFF更改为ON,反之亦然。 if text = State:ON,text = State:OFF else text = State:ON。 enter image description here

1 个答案:

答案 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