Jquery并向表中添加行

Rub*_*ord 10 jquery

我有以下jquery代码.

var destTable = $("#numbers");
$(document).ready(function() {
  $("#btnAdd").click(function() {
   //Take the text, and also the ddl value and insert as table row.
   var newRow = $("<tr><td>hi</td></tr>");
   $("#numbers").append(newRow);
  });
});
Run Code Online (Sandbox Code Playgroud)

我真正想要的是存储一个元素的引用,然后从那里使用它.

上面的代码按预期添加了一行到我的表,但如果我使用.$(destTable).append(newRow)或者destTable.append(newRow)没有任何事情可以让任何人为我揭开这一点?

谢谢

Pao*_*ino 22

将引用保留在document.ready中:

$(document).ready(function() {
  var destTable = $("#numbers");
  $("#btnAdd").click(function() {
   //Take the text, and also the ddl value and insert as table row.
   var newRow = $("<tr><td>hi</td></tr>");
   $("#numbers").append(newRow);
  });
});
Run Code Online (Sandbox Code Playgroud)

document.ready的目的是等待DOM准备好; 如果你尝试在$('#numbers');它之外做(并且代码没有出现在文档中的元素之后),那么DOM将不会创建这个元素,所以你将没有适当的引用.

一旦你这样做,你应该能够做到:

destTable.append(newRow);
Run Code Online (Sandbox Code Playgroud)

click功能内部.然而,作为最后一个注释,使用a表示jQuery集的变量前言是一种常见且公认的惯例$.所以这是最好的:

var $destTable = $("#numbers");
Run Code Online (Sandbox Code Playgroud)