javascript - 为表格中新添加的单元格设置特定颜色
问题描述
我有一个表,我在其中通过输入指定的位置添加新行或列。我只希望新行和单元格更改颜色选择器中指定的颜色。我有这个 html
<label>Position</label>
<input type="number" id="poz">
<br />
<label for="culoare">Color:</label>
<input type="color" value="#ff0000" id="fundal" name="culoare"><br />
<br />
<button id="linie" onclick="insertRow();">Inserează linie</button>
<button id="coloana" onclick="insertCol();">Inserează coloană</button>
<br />
<br />
<table id="js-table">
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
<tr>
<td>Data</td>
<td>Data</td>
<td>Data</td>
</tr>
</table>
这些是javascript中的函数
function insertRow() {
var table = document.getElementById("js-table");
var len = document.getElementById("js-table").rows.length;
var val = document.getElementById("poz").value;
var culoare = document.getElementById("fundal").value;
var row = table.insertRow(val);
var cell=[];
for(let i = 0; i<len;i++)
{
cell[i] = row.insertCell(i);
cell[i].innerHTML = "New Row"+i;
}
}
function insertCol() {
var val = document.getElementById("poz").value;
var culoare = document.getElementById("fundal").value;
var firstRow = document.getElementById("js-table").rows[0];
var x = firstRow.insertCell(val);
x.innerHTML = "New Col";
}
插入没问题,但我不知道如何获取这些单元格并将它们的颜色更改为颜色选择器中指定的颜色
解决方案
您可以使用x.style
和来完成background-color
。
所以这里颜色选择器的值在culoare
变量中,所以写x.style = "background-color: " + culoare + ";";
这是你的代码:
function insertRow() {
var table = document.getElementById("js-table");
var len = document.getElementById("js-table").rows.length;
var val = document.getElementById("poz").value;
var culoare = document.getElementById("fundal").value;
var row = table.insertRow(val);
var cell=[];
for(let i = 0; i<len;i++)
{
cell[i] = row.insertCell(i);
cell[i].innerHTML = "New Row"+i;
cell[i].style = "background-color: " + culoare + ";"; //Set the background color
}
}
function insertCol() {
var val = document.getElementById("poz").value;
var culoare = document.getElementById("fundal").value;
var firstRow = document.getElementById("js-table").rows[0];
var x = firstRow.insertCell(val);
x.innerHTML = "New Col";
x.style = "background-color: " + culoare + ";"; //Set the background color
}
现场演示:https ://codepen.io/marchmello/pen/rNVEbXb?editors=0010
推荐阅读
- rest - 为什么 indy 返回不可读的数据但 chrome 加载它很好?
- excel - 根据单元格值将数据从一个工作表移动到另一个工作表
- javascript - 如何为嵌套对象设置状态
- java - Chartboost 广告在 libgdx 项目中不起作用
- javascript - javascript更改图像单选按钮
- javascript - 如何在反应中渲染多个具有不同 src 的图像元素
- maven - Jenkins - 可以在管道脚本中使用 parsedVersion 属性吗?
- linux - posix追踪过时的理由?
- javascript - 在页面上将 php 变量传递给 json 时的安全问题
- wordpress - 多个 WordPress 子目录 AWS Linux/Apache