想了解一些Javascript函数说明

时间:2018-03-20 09:09:47

标签: javascript jquery project pixel

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

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

table.children().remove();用于清除当前生成的表,以便创建新表。

您可以通过删除该行,生成1x1表并在此之后生成另一个1x1来对此进行测试。您将看到网格现在实际上由3个单元格而不是指定的单元格组成。

据我所知cell = table.find("td");没有用,因为cell未在任何地方使用,可以删除此行。