【问题标题】:Change innerHTML based on ID using Javascript didn't work使用 Javascript 更改基于 ID 的 innerHTML 不起作用
【发布时间】:2013-07-07 01:43:46
【问题描述】:

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

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

【问题讨论】:

  • 试试onclick="changefantext()"
  • 在第二张图片中,您的作业使用== 而不是=

标签: javascript html css web


【解决方案1】:

应该是

onclick="changefantext()"

要查看它是打开还是关闭,您可以使用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 将包含空格,因此它不会匹配“State: OFF” - 也就是说,它不是完全匹配。使用indexOf 发现它是否包含单词“OFF”。如果找到文本,则返回一个 0 或更多的数字:

var fan = document.getElementById('fan');
var fanText = fan.innerHTML;

if (fanText.indexOf("OFF") >= 0) {
    // it is OFF

【讨论】:

  • 啊,成功了。大声笑,我想我太尝试了,没有看到。现在,IF 语句。我会努力让它工作,如果我不能,我会再问一次。编辑:我正在看这个帖子,stackoverflow.com/questions/16881302/js-if-statement-innerhtml
  • 我用我的方式添加了另一张照片,你能检查一下有什么问题吗?谢谢你的代码,但我不太明白。这就是为什么我尝试使用我的代码方法,请告诉我出了什么问题。编辑:我没有把 ElseIF 的代码,因为默认状态如果关闭,我想先尝试打开它。
猜你喜欢
  • 1970-01-01
  • 2011-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
  • 2017-05-03
相关资源
最近更新 更多