这是我通过循环创建表的代码。我希望在每个..添加一个onclick函数,在单击特定单元格时,背景颜色会发生变化..但是出现错误。 我做错了什么?
<head>
<script>
function changeColor(elem)
{
elem.style.background = "red";
}
</script>
</head>
<body>
<?php
$rows = 10; // define number of rows
$cols = 4;// define number of columns
echo "<table border='1'>";
for($tr=1;$tr<=$rows;$tr++){
echo "<tr>";
for($td=1;$td<=$cols;$td++){
echo "<td onclick=\"changeColor(this)\" > ".$tr." ".$td."</td>";
}
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>
答案 0 :(得分:3)
你错过了逃避报价。它应该是:
echo "<td onclick=\"changeColor(this)\" > ".$tr." ".$td."</td>";
或者您可以对onclick
属性使用单引号:
echo "<td onclick='changeColor(this)' > ".$tr." ".$td."</td>";
答案 1 :(得分:2)
您的echo
语句无法转义引号
echo "<td onclick="changeColor(this)" > ".$tr." ".$td."</td>";
改为:
echo echo "<td onclick='changeColor(this)'> $tr $td </td>";
当PHP置于双引号内时,PHP会将变量替换为值。因此,当你在双引号中使用变量
时,你不需要任何连词答案 2 :(得分:0)
你可以试试这个
for($td=1;$td<=$cols;$td++)
{
?>
<td onclick="changeColor(this)" ><?php echo $tr." ".$td;?></td>
<?php
}
从php代码中分离html