未捕获的TypeError:无法读取属性' textContent'未定义的

时间:2016-09-08 07:27:06

标签: javascript php ajax

当我点击日期值时,我有这个" 错误 未捕获的TypeError:无法读取属性' textContent'未定义的"

这是我的代码,你可以帮我确定错误的来源,我该如何纠正这个

<?php
while($row = mysqli_fetch_array($query)){
                                    $date = $row['Date'];
                                    $time = $row['Time'];
                                    $latitude= $row['Latitude'];
                                    $longitude= $row['Longitude'];
                                    $depth =$row['Depth'];
                                    $magnitude = $row['Magnitude'];
                                    //$array_lat_lon[] = $lat = $row['LAT'];
                                    //$array_lat_lon[] = $lon = $row['LON'];

                                $the_arraypei[] = array($row['Date'] ); //added
                                //$the_array[] = array($row['LAT']."" , "".$row['LON']) ;      
                                //$timestamp = strtotime()
                                echo '<tr class="normalRow"><td id="date2"><a href="#" onClick="functiontoget(\'$date\');">'.$date.'</a></td><td border="1">'.$time.'</td><td border="1">'.$latitude.'</td><td border="1">'.$longitude.'</td><td border="1">'.$depth.'</td><td border="1">'.$magnitude.'</td></tr>';


                                                                }?>

   <script>
     function functiontoget($date) { 
     var x = document.getElementsByTagName("#date")[0].textContent;
     document.getElementById("demo").innerHTML = x;}
     </script>
     <p id="demo"></p>

2 个答案:

答案 0 :(得分:1)

如果您想按标记名称查询元素,可以使用getElementsByTagName,但是您是否有一个名为#date的标记? #date是您需要使用id的一个元素getElementById

chage your javascript code:

function functiontoget($date) { 
   var x = document.getElementById("date").textContent;
   document.getElementById("demo").innerHTML = x;
}

答案 1 :(得分:0)

这是我的代码。

问题在于,当我点击表格中的第一个value($date)时会显示提醒,但当我点击另一个value($date)时,系统不会显示任何提示。

这就像唯一可点击的是第一个value($date)

<?php 
  while($row = mysqli_fetch_array($query)){
    $date = $row['Date'];
    $time = $row['Time'];
    $latitude= $row['Latitude'];
    $longitude= $row['Longitude'];
    $depth =$row['Depth'];
    $magnitude = $row['Magnitude'];
    echo '<tr class="normalRow"><td id="date2">'.$date.'</td><td border="1">'.$time.'</td><td border="1">'.$latitude.'</td><td border="1">'.$longitude.'</td><td border="1">'.$depth.'</td><td border="1">'.$magnitude.'</td></tr>';
  }}
  }
?>
<script>
  $(document).ready(function() {
    $("#date2").click(function() {
      var x = $(this).text();
      alert(x);
      x = $(this).next().html();
      alert(x);
      ...
    });
  });
 </script>