2

素早くばかげた 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');
});

どんな提案でも大歓迎です。

4

4 に答える 4

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: ');
});
于 2012-06-25T14:27:01.723 に答える
2

$('.ReallyLongSillyTableName');は jQuery オブジェクトなので、文字列として使用することはできません。

だから試してみてください

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オブジェクトにするために)他の目的に使用できます。

于 2012-06-25T14:27:36.390 に答える
2

以下のようにしてみてください、

ThisTable.find('tbody > tr > td:last-child').each(function() {
    $(this).append('Sales Orders: ');
});
于 2012-06-25T14:27:08.667 に答える