选项卡无法正常工作,但HTML5中的代码看起来很好

时间:2018-02-07 07:33:48

标签: javascript html html5

使用HTML5编码时,我已在程序中添加了标签。一开始,它工作正常,但现在我添加了一些数据库代码后,它无法正常工作。

标签内的所有元素都没有显示,我不知道发生了什么。

这是我的代码:

    document.getElementById("defaultOpen").click();
    function openLogin(evt, logName) {
        var i, tabcontent, tablinks;
        tabcontent = document.getElementsByClassName("tabcontent");
        for (i = 0; i < tabcontent.length; i++) {
            tabcontent[i].style.display = "none";
        }

        tablinks = document.getElementsByClassName("tablinks");
        for (i = 0; i < tablinks.length; i++) {
            tablinks[i].className = tablinks[i].className.replace(" active", "");
        }
        document.getElementById(logName).style.display = "block";
        evt.currentTarget.className += " active";

JavaScript部分

{{1}}

this is the screenshot

我该怎么办?

1 个答案:

答案 0 :(得分:0)

document.getElementById("defaultOpen").click();有一个问题,html中没有ID为defaultOpen的元素。

另一个问题是,您在最后一部分的javascript中缺少函数openLogin的结束括号。

试试这个:

var defaultOpen = document.getElementById("defaultOpen");
if (defaultOpen !== null) defaultOpen.click();

function openLogin(evt, logName) {
    var i, tabcontent, tablinks;
    tabcontent = document.getElementsByClassName("tabcontent");
    for (i = 0; i < tabcontent.length; i++) {
        tabcontent[i].style.display = "none";
    }

    tablinks = document.getElementsByClassName("tablinks");
    for (i = 0; i < tablinks.length; i++) {
        tablinks[i].className = tablinks[i].className.replace(" active", "");
    }
    document.getElementById(logName).style.display = "block";
    evt.currentTarget.className += " active";
}