javascript - 未捕获的类型错误 : Cannot read property 'style' of null concerning a script in an echo

标签 javascript php jquery css echo

enter image description here我试图在 onclick 事件上更改 div 的颜色。

这是我收到的错误:

Uncaught TypeError: Cannot read property 'style' of 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。

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 - 未捕获的类型错误 : Cannot read property 'style' of null concerning a script in an echo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33695733/

相关文章:

javascript - 如何使用 jQuery 将 html 元素附加到鼠标?

javascript - 如何重新排列页面中间两个元素的 Tab 键顺序?

php - current() 函数是否保证以指向数组第一个元素的内部指针开始?

javascript - 使用 js 数组为 Leaflet 标记创建弹出内容

javascript - Firefox 和 IE JS 滚动问题

javascript - 如何将 ASP MVC 表单下拉列表设置为空白,但前提是基础值未初始化?

php - PHP 中的 UNION MySQL 结果将取决于第一个选择的列

php - MySQL 返回相反的值

javascript - 在滚动事件上加载内容不起作用

javascript - 无法从 miithril View 启动灯箱