Jquery Cache变量

时间:2013-01-05 16:38:48

标签: jquery caching

我有以下内容:

$(function(){
   $table = $('#print_types table');
});

是否可以做这样的事情:

$(function(){
   $($table + ' tr:last > td:first').after('something');
});

由于我正在缓存一个表元素,我如何像上面所示那样操纵表格?通常我会这样写:

$(function(){
   $('div#print_types table tr:last > td:first').after('something');
});

问题是我有一堆这些语句,这就是我缓存表的原因。  我尝试做我做的,但是我得到了一个错误。我在这里错过了什么吗?

3 个答案:

答案 0 :(得分:2)

只需使用.find

$table.find('tr:last > td:first')

这基本上是等同的。您无法使用$($table +...,因为$table的toString不是您想要的选择器。

答案 1 :(得分:0)

$table是一个jQuery对象。 jQuery选择器是一个字符串,您不能连接字符串和对象。

使用find()代替

 $table.find(' tr:last > td:first').after('something');

答案 2 :(得分:0)

您要找的是context

$table = $('#print_types table');

$('tr:last > td:first', $table).after('something');

这与

基本相同
$table.find('tr:last > td:first').after('something');

.find()