我有一个使用js生成的表。据我所知,我无法向不同的单元格添加唯一ID。
我的问题是,是否可以添加一个函数来复制我可以添加到单元格以复制内容的单击元素之一的内容?还是有办法使用下面的js在我的单元格和封闭的div中添加唯一的类或id?
我对js还是很陌生,所以如果麻烦不大,您可以解释一下对代码所做的任何更改,以便我更好地理解吗?
非常感谢您的帮助!
尝试失败,
$('.hex-color').on('click', function(){
element = $(this).next('div');
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
try {
var successful = document.execCommand('copy');
if(successful) {
$('.res').html("Coppied");
}
else
{ $('.res').html("Unable to copy!");}
} catch (err) {
$('.res').html(err);
}
});
function makeTableRowColors(colors, displayType) {
var tableRow = "<tr>";
for (var i = 0; i < colors.length; i++) {
if (displayType == "colors") {
tableRow += "<td class=\"hex-color tint-shade-box\" style=\"background-color:" + "#" + colors[i].toString(16) + "\";><div style=\"background-color:" + "#" + colors[i].toString(16) + "\";>" + colors[i].toString(16).toUpperCase() + "</div></td>";
}
}
tableRow += "</tr>";
return tableRow;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<tr>
<td class="hex-color tint-shade-box" style="background-color:#f5f5f5">
<div style="background-color:#f5f5f5">F5F5F5</div>
</td>
<td class="hex-color tint-shade-box" style="background-color:#dddddd">
<div style="background-color:#dddddd">DDDDDD</div>
</td>
</tr>