Jquery并向表中添加行

时间:2009-07-01 07:55:39

标签: 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);
  });
});

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

上面的代码按预期添加了一行到我的表中但是如果我使用的话。 $(destTable).append(newRow)destTable.append(newRow)没有任何事情可以让任何人对我有所了解吗?

由于

2 个答案:

答案 0 :(得分: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);
  });
});

document.ready的意思是等待DOM准备好;如果您尝试在其外部执行$('#numbers');(并且代码未出现在文档中的元素之后),则DOM将不会创建此元素,因此您将无法正确引用它。

完成此操作后,您应该可以:

destTable.append(newRow);

click功能中。然而,作为最后一个注释,使用$作为表示jQuery集的变量的前言是一种常见且被接受的做法。所以这是最好的:

var $destTable = $("#numbers");

答案 1 :(得分:0)

你可以像这样使用appendTo:

$("<tr><td>Hello</td><tr>").appendTo("#MyTable > tbody")