快速而愚蠢的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');
});
任何建议都非常感谢。
答案 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)
var ThisTable = $('.ReallyLongSillyTableName');
是jQuery对象(javascript对象)
$(ThisTable + ' > tbody > tr > td:last-child')
这里的()
你有javascript对象+字符串,它不会给你完整的字符串(NOT string + string!)
您需要var ThisTable = '.ReallyLongSillyTableName';