首页 > 解决方案 > 使用 javascript 替换 HTML

问题描述

我是编程新手,非常感谢任何帮助。这也是我的第一篇文章,所以如果我做错了,请原谅我。我有一个带有表格的 html 页面,该表格从 php 中的数组函数中获取其值。我需要将文本星期一更改为红色,我可以这样做,但它只格式化第一行。这是我所拥有的

if ($result->num_rows > 0) {
echo "<table><tr><th>Assessor</th><th>Activity</tr>";
while($row = $result->fetch_assoc()) {
    echo "<tr><td>" . $row['first_name']. "</td><td id='Activity' class = 'Activity'>" . 
$row['Activity']. "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}   

这是JavaScript代码:

function changeSubStringColorT() {
var str = document.getElementById("Activity").innerHTML; 
var resT = str.replace("Monday", "<span style='color:blue; font-weight:bold' >Monday</span>");
document.getElementById("Activity").innerHTML = resT;

如果我更改 getElementById 它可以工作,但只有第一行。如果我更改为获取 ElementsBy ClassName 它什么也不做。

我已经更改了 <td class="Activity" 的类,但没有任何反应。我不知道去哪里看或做什么。非常感谢大家,自从我开始这个网站以来,这个网站对我帮助很大

标签: javascriptphphtml

解决方案


您最好检查 php 中的变量并添加一个红色类,如果它是“星期一”。不需要javascript。

if ($result->num_rows > 0) {
  echo "<table><tr><th>Assessor</th><th>Activity</tr>";
  while($row = $result->fetch_assoc()) {

   if ( $row['Activity'] == 'Monday' ) $class = "makeRed";

   echo "<tr><td>" . $row['first_name']. "</td><td id='Activity' class = 'Activity {$class}'>" . 
   $row['Activity']. "</td></tr>";
   }
     echo "</table>";
   } else {
     echo "0 results";
   }  

然后就在你的CSS中

.makeRed {
   color:red;
}

推荐阅读