Javascript 脚本无法运行 document.getElementById(“按钮”).onclick=function(){ location.href=“teacherinfo.php”; };

Javascript 脚本无法运行 document.getElementById(“按钮”).onclick=function(){ location.href=“teacherinfo.php”; };,javascript,php,html,Javascript,Php,Html,此代码用于基于mysql中的数据生成div。对于数据库中的每一行,代码将生成一个带有图片、名称、等级和部分的div。div的生成没有问题。唯一的问题是我使用的脚本。每当我单击第一个div时,脚本都会工作,但每当我单击其他div时,脚本就不工作。我的代码有问题吗?有人能教我如何解决这个问题吗?getElementById只返回第一个匹配的项 使用getElementsByClassName而不是getElementByClassId。它将返回所有匹配的项目。您可以使用下面的代码 <?php

此代码用于基于mysql中的数据生成div。对于数据库中的每一行,代码将生成一个带有图片、名称、等级和部分的div。div的生成没有问题。唯一的问题是我使用的脚本。每当我单击第一个div时,脚本都会工作,但每当我单击其他div时,脚本就不工作。我的代码有问题吗?有人能教我如何解决这个问题吗?

getElementById只返回第一个匹配的项

使用getElementsByClassName而不是getElementByClassId。它将返回所有匹配的项目。您可以使用下面的代码

<?php
  while ($row = mysqli_fetch_array($query)) {
    echo '<div class="announcementSlider" id="button">
            <img src="pictures/blank photo.png" class="teacherpic"><br>
            <span>'.$row['LastName'].'</span><br>
            <span>'.$row['Grade'].' - </span>
            <span>'.$row['Section'].'</span>
          </div>';
  }
?>

<script type="text/javascript">
  document.getElementById("button").onclick = function () {
    location.href = "teacherinfo.php";
  };
</script>
var a=document.getElementsByClassName(“announcementSlider”);

对于(i=0;iQuestions正在寻求调试帮助(“为什么此代码不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。id属性指定HTML元素的唯一id,我认为您对多个div使用的类使用了相同的id,而不是id。我使用了y我们的代码,但问题没有解决。当我使用您的代码时,所有div都无法单击。感谢您的代码工作。我需要解决一个新问题。如何在mysql where子句中使用span文本?首先,使您的divs id唯一。(如text1div、text2div…),然后更改代码,如下
location.href=“teacherinfo.php?text=“+this.id
并用php检查$_GET['text']。例如,如果用户单击第二个div,它将重定向到'teacherinfo.php?text=text2div',而$_GET['text']将是text2div。您能告诉我如何操作吗?因为我不熟悉这种语言。
var a = document.getElementsByClassName("announcementSlider");
for (i=0; i<a.length; i++) {
     a[i].onclick = function () {
         location.href = "teacherinfo.php";
     };
}