无法在innerhtml中为td标记Javascript传递类属性

iyfamqjs  于 2023-03-11  发布在  Java
关注(0)|答案(2)|浏览(202)

我已经开始在html和javascript上工作,并希望有一些动态行。但每当我试图设置cell.innerHTML与td标记沿着class属性时,我能够添加行,但class属性没有得到设置。

<!DOCTYPE html>
<html>
<head>
<style>
table, thead, td {
border:1px solid black;
}

.editMe{

color:red;
}
</style>
</head>
<body>

<button onclick="myFunction()">Try it</button>
</br></br>
<table id="simpleEditableTable" >
<thead>
   <tr>
       <th>testId</th>
   </tr>
</thead>
<tbody>
   <tr>
        <td class="editMe">1.01</td>    
   </tr>
   <tr>
        <td class="editMe">1.02</td>    
   </tr>   
</tbody>   
</table>

<p id="para">See</p>

<script>
function myFunction() {
  //document.getElementById("demo").innerHTML = '<td style="color:red">helo</td>';
  
              var table = document.getElementById("simpleEditableTable");
              var row = table.insertRow(-1);
              var cell = row.insertCell(0);
              cell.innerHTML='<td class="editMe">Not working</td>';

           var para = document.getElementById("para");
           para.innerHTML='<p style="color:red">working</p>';
              //tried below ones too
             // cell.innerHTML="<td class='editMe'>helo</td>";
  
  
  
}
</script>

</body>
</html>

Output
已尝试通过不同的堆栈流链接:Source1
尝试类似的不同标签,如p标签和它的工作为我。
期望学习如何在设置时在td标签中传递class属性。

pes8fvy9

pes8fvy91#

您需要设置单元格的outerHTML或行的innerHTML来修改<td>元素本身。

cell.outerHTML = '<td class="editMe">Some text</td>';

在这里,设置textContent并使用.classList.add来更改类更为合适。

let cell = row.insertCell(0);
cell.classList.add('editMe');
cell.textContent = 'Some text';
5uzkadbs

5uzkadbs2#

单元格.内部HTML = <td class="editMe">Not working</td>;
使用这个''而不是''来括住文本,因为它是html标记而不是字符串

相关问题