如何获得Javascript" getElementsByClassName()"上班?

时间:2018-03-30 15:45:01

标签: javascript

当我这样做时,一切正常:

widgets[(2,3)].insert("end", "Hello, world")

但是当我这个时,没有任何反应:

function openTab(tabName)
{
    document.getElementById("divUsers").className = "invisible";
    document.getElementById("divGroups").className = "invisible";
    document.getElementById("divZFSPools").className = "invisible";
    document.getElementById("divShares").className = "invisible";

    document.getElementById(tabName).className = "visible";
}

仅供参考:"可见"和"隐形"是两个CSS类名。

有谁知道为什么?如何使用HTML和Javascript实现桌面选项卡控件行为?

1 个答案:

答案 0 :(得分:0)

如果我没有误解您的问题,请在;条件之后移除if,因为简单的拼写错误(;)会对您的代码产生巨大影响。

假设,

if (0 === 1); { alert("Hello World") }

// equivalent to:

if (0 === 1) /*do nothing*/ ;
alert ("Hello World");
  

此代码将提示" Hello World",但不是因为0等于1,但是   因为分号。它让JavaScript认为你有一个   那里的空陈述,其右边的一切都被视为   不再属于if条件,因此独立于它。

来源https://www.codecademy.com/en/forum_questions/507f6dd09266b70200000d7e

所以在您的代码中,它将是这样的,

//If it is the active tab, return:
if(targetTab.style.display.className == "visible"); 
    return;                                    //^^ remove this semicolon