jQuery选择器中带有变量的选择器

时间:2012-06-25 14:26:12

标签: jquery jquery-selectors

快速而愚蠢的jQuery选择器问题。

为什么不起作用 jsFiddle demo

//config
var ThisTable = $('.ReallyLongSillyTableName');


// Function
$(ThisTable + ' > tbody > tr > td:last-child').each(function() {
    $(this).append('Sales Orders: ');
});

但是,确实有效 jsFiddle demo

$('.ReallyLongSillyTableName td:last-child').each(function() {
    $(this).append('Some Text');
});

任何建议都非常感谢。

4 个答案:

答案 0 :(得分:7)

你可以使用这个:

$('tbody > tr > td:last-child', ThisTable).each(function() {
    $(this).append('Sales Orders: ');
});

或者这个:

ThisTable.find('tbody > tr > td:last-child').each(function() {
    $(this).append('Sales Orders: ');
});

答案 1 :(得分:2)

尝试如下,

ThisTable.find('tbody > tr > td:last-child').each(function() {
    $(this).append('Sales Orders: ');
});

答案 2 :(得分:2)

$('.ReallyLongSillyTableName');是一个jQuery对象,所以你不能将它用作String。

所以试试

var ThisTable = '.ReallyLongSillyTableName';


// Function
$(ThisTable + ' > tbody > tr > td:last-child').each(function() {
    $(this).append('Sales Orders: ');
});

$(ThisTable + ' td:last-child').each(function() {
    $(this).append('Some Text');
});

你可以使用上面的ThisTable$(ThisTable)(使它成为jquery对象)用于其他目的。

答案 3 :(得分:0)

  1. var ThisTable = $('.ReallyLongSillyTableName');是jQuery对象(javascript对象)

  2. $(ThisTable + ' > tbody > tr > td:last-child') 这里的()你有javascript对象+字符串,它不会给你完整的字符串(NOT string + string!)

  3. 您需要var ThisTable = '.ReallyLongSillyTableName';