Hy,这是我在这里的第一篇文章 我正在关注一个前端开发者。类 最近的任务是创建一个像素艺术页面,是我用javascript进行的第一个更大的任务,我问周围并解决了我不知道如何的部分,但现在我不明白一切,如果有经验的用户可以帮助我,将不胜感激
// Select color input
// Select size input
// When size is submitted by the user, call makeGrid()
//function makeGrid(row,colm) {
function makeGrid() {
let gridRows, cell;
let rows = $("#inputHeight").val();
let cols = $("#inputWidth").val();
let table = $("#pixelCanvas");
table.children().remove();
for (let i = 0; i < rows; i++) {
table.append("<tr></tr>");
}
gridRows = $("tr");
for (let j = 0; j < cols; j++){
gridRows.append("<td></td>");
}
cell = table.find("td");
table.on("click", "td", function() {
var color = $("input[type='color']").val();
$(this).attr("bgcolor", color);
});
}
//when size is submitted call makeGrid()
$("input[type='submit']").click(function(e) {
e.preventDefault();
makeGrid();
});
这是我的代码,我不明白的部分:
table.children().remove();
- 删除表子元素(?究竟删除了什么,为什么需要实现?
cell = table.find("td");
- 我知道.find是一个jquery元素,它允许我们搜索槽后代,但我不明白为什么我需要这个。
该项目也上传到我的codepen https://codepen.io/MelindaB/pen/xWgJqY
感谢您的帮助
答案 0 :(得分:1)
table.children().remove();
用于清除当前生成的表,以便创建新表。
您可以通过删除该行,生成1x1表并在此之后生成另一个1x1来对此进行测试。您将看到网格现在实际上由3个单元格而不是指定的单元格组成。
据我所知cell = table.find("td");
没有用,因为cell
未在任何地方使用,可以删除此行。