jQuery选择器中带有变量的选择器
快速而愚蠢的jQuery选择器问题。
为什么这不起作用 : jsFiddle演示
//config var ThisTable = $('.ReallyLongSillyTableName'); // Function $(ThisTable + ' > tbody > tr > td:last-child').each(function() { $(this).append('Sales Orders: '); });
但是,这确实有效 : jsFiddle演示
$('.ReallyLongSillyTableName td:last-child').each(function() { $(this).append('Some Text'); });
任何建议非常感谢。
你可以使用这个:
$('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: '); });
试试如下,
ThisTable.find('tbody > tr > td:last-child').each(function() { $(this).append('Sales Orders: '); });
$('.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对象)用于其他目的。
-
var ThisTable = $('.ReallyLongSillyTableName');
是jQuery对象(javascript对象) -
$(ThisTable + ' > tbody > tr > td:last-child')
这里的()
你有javascript对象+字符串,它不会给你完整的字符串(NOT string + string!) -
你需要
var ThisTable = '.ReallyLongSillyTableName';