Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用外部脚本获取javascript中表格单元格的值_Javascript_Html - Fatal编程技术网

使用外部脚本获取javascript中表格单元格的值

使用外部脚本获取javascript中表格单元格的值,javascript,html,Javascript,Html,我有一个简单的表,其中填充了MySQL数据库中的行,HTML部分如下所示 <tbody> <?php while($row = mysqli_fetch_row($result)){ ?> <tr class="rows" id="<?php echo $row[0]; ?>"> // the id is an auto incremented int <td id="col1"><?php ec

我有一个简单的表,其中填充了MySQL数据库中的行,HTML部分如下所示

  <tbody>
    <?php while($row = mysqli_fetch_row($result)){ ?>
    <tr class="rows" id="<?php echo $row[0]; ?>">  // the id is an auto incremented int
      <td id="col1"><?php echo $row[1]; ?></td>
      <td id="col2"><?php echo $row[2]; ?></td>
      <td id="col3"><?php echo $row[3]; ?></td>
      <td id="col4"><?php echo $row[4]; ?></td>
      <td id="col5"><?php echo $row[5]; ?></td>
    </tr>
    <?php } ?>
  </tbody>


要获取单元格的内容,可以执行以下操作:

document.getElementById('col1').innerHTML
话虽如此,但只有当您有一个
col1
时,它才会起作用:如果您有多个
s,每个
td
将有五个
s,如
,其余id-s也是如此。这是无效的HTML。考虑用类替换这些ID-S,或者附加PHP.< /P>
或者,更好的是,您可以完全放弃所有这些笨拙的
id
-s,并使用以下内容:

rows[i].onclick = function() {
    console.log(this.childNodes[0].innerHTML); // col1
    console.log(this.childNodes[1].innerHTML); // col2
    // ... etc
}

它不起作用,因为该对象是HTMLTableRowElement(请参阅)

在这里,作为jQuery的库非常方便。使用jQuery编写的脚本与

jQuery('.rows').click(function(){
    alert(jQuery(this).children('#col1').text());
});

谢谢你注意到我重复的身份证,你说得对,我应该用childNotes。非常感谢。嗯,我最大的问题是我不知道这个物体是什么。谢谢您提供的有用信息。@nandoo您确实需要使用一个调试器,例如Chrome的内置开发工具。您可以打开开发人员工具,转到所有内容都中断的行,设置一个断点,并将其添加到右侧的监视列表“this”,然后使用处理程序单击该元素。在那里,您将了解有关变量的所有信息
jQuery('.rows').click(function(){
    alert(jQuery(this).children('#col1').text());
});