使用外部脚本获取javascript中表格单元格的值
我有一个简单的表,其中填充了MySQL数据库中的行,HTML部分如下所示使用外部脚本获取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
<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());
});