我有以下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)
没有任何事情可以让任何人对我有所了解吗?
由于
答案 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")