在JavaScript中使用PHP变量加载错误

在JavaScript中使用PHP变量加载错误,javascript,php,html,Javascript,Php,Html,我试图在页面加载时使用PHP变量执行JavaScript命令 我得到以下错误: 未捕获类型错误:无法读取null(…)的属性“style” //在这里剪些东西 函数openTab(tabName){ var i,tabcontent,tablinks; tabcontent=document.getElementsByClassName(“面板包装”); 对于(i=0;i选项卡内容[i]或选项卡链接[i]可能为空。找出它来自哪一行,并进行一些日志记录。该元素不存在,因此可能是传递了错误的ID,

我试图在页面加载时使用PHP变量执行JavaScript命令

我得到以下错误:

未捕获类型错误:
无法读取null(…)的属性“style”


//在这里剪些东西
函数openTab(tabName){
var i,tabcontent,tablinks;
tabcontent=document.getElementsByClassName(“面板包装”);
对于(i=0;i问题在于这一行:

“>

问题在于这一行:

“>

选项卡内容[i]或选项卡链接[i]可能为空。找出它来自哪一行,并进行一些日志记录。该元素不存在,因此可能是传递了错误的ID,也可能不是。如果将
更改为
@aynber Chrome告诉我错误在第20行,即
document.getElementById(tabName).style.display=“block”。我的调试消息仅在我单击不同选项卡时有效,而在我尝试加载时不起作用(在本例中)。将日志行放在第20行之前,这样您就可以准确地看到传递的内容,这样您就可以确保值是正确的。
tabcontent[I]
tab links[I]
可能为空。找出它来自哪一行,并进行一些日志记录。该元素不存在,因此可能是传递了错误的ID,也可能不是。如果将
更改为
@aynber Chrome告诉我错误在第20行,即
document.getElementById(tabName).style.display=“block”。我的调试消息仅在我单击不同选项卡时有效,而在我尝试加载(在本例中)时无效。请将日志行置于第20行之前,以便您可以准确查看传递的内容,从而确保值正确无误。
<head>
    //cut out some stuff here
    <script>
        function openTab(tabName) {
            var i, tabcontent, tablinks;
            tabcontent = document.getElementsByClassName("panel_wrapper");
            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(tabName).style.display = "block";
            console.log("fking debug "+tabName);
        }
    </script>
</head>
<body onload="openTab('<?php $_SESSION["loc"] ?>')">
    //cut out some stuff here too
<body>