javascript - 未捕获的TypeError:无法读取与回显中的脚本有关的null的'style'属性-LMLPHP我正在尝试在onclick事件上更改div的颜色。

这是我得到的错误:


  未捕获的TypeError:无法读取null的属性“样式”


这是代码:

function changeSelection (newClick) {

        document.getElementById(newClick).style.backgroundColor="#4bc970";
        document.getElementById(newClick).style.color="#FFFFFF";
        if(oldClick!="" && document.getElementById(oldClick)!=null && oldClick != newClick){
            document.getElementById(oldClick).style.backgroundColor="#d2d2d2";
            document.getElementById(oldClick).style.color="#332836";
        }
        oldClick = newClick;
    }


回声在另一个php页面上找到。

echo ("<tr><td><div class='courseDiv' onclick=changeSelection(".$classID.");><p class='textInsideLeftTable'>".$className. "</p><p class='arrow'>></p></div></td></tr>");


任何输入将不胜感激。

更多代码:

<?php
    require("connect.php");
    session_start();

    $stmt = $db->prepare('SELECT * FROM users INNER JOIN studentparent ON users.parentID = studentparent.parentID INNER JOIN studentsclasses ON studentparent.studentID = studentsclasses.studentID INNER JOIN classes ON classes.classID = studentsclasses.classID WHERE users.parentID=:parentID');
    $stmt->execute(array(
        ':parentID' => $_SESSION['parentID']
    )) or die(var_dump($stmt->errorInfo()));

    $result = $stmt->fetchAll();
    foreach ($result as $row) {
        $className = $row['classCode'];
        $classID = $row['classID'];
        echo ("<tr><td><div class='courseDiv' onclick=\"changeSelection('".$classID."');\"><p class='textInsideLeftTable'>".$className. "</p><p class='arrow'>></p></div></td></tr>");
    }
?>


回答:
我用”反转了“”。另外,我忘了给它div ID。我正在尝试更改值,而不是div值。
我希望它能引起轰动。

echo ('<tr><td><div id="div_'. $classID .'"onclick="changeSelection(\'div_'.$classID.'\');" class="courseDiv"><p class="textInsideLeftTable">'.$className. '</p><p class="arrow">></p></div></td></tr>');

最佳答案

您需要在其周围添加单引号,以便JavaScript将其视为字符串而不是变量。

changeSelection('".$classID."')

关于javascript - 未捕获的TypeError:无法读取与回显中的脚本有关的null的'style'属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33695733/

10-11 13:27