这是我收到的错误:
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/