1

次のように num 変数をこの関数に渡すことができないのはなぜですか。

    function getColumnData(num) {
    var colVals = $('#newtable td:nth-child(num)').map(function(){
       return $(this).text();
    }).get();
    alert(colVals);
    }

これを回避する簡単な方法はありますか?

ありがとう。

4

3 に答える 3

3

numの値をセレクター文字列と連結する必要があります。

var colVals = $('#newtable td:nth-child(' + num + ')').map(function() {
    //Do stuff
});

現在、「#newtable td:nth-child(2)」などのセレクタ エンジンにとって意味のある文字列リテラルではなく、「#newtable td:nth-child(num)」という文字列リテラルがあります。

于 2012-05-21T12:16:51.757 に答える
3

jQuery セレクターは文字列であるため、次のように連結を使用して「ビルド」する必要があります。

$('#newtable td:nth-child(' + num + ')')

それ以外の場合numは、文字列リテラルの一部の文字です。

于 2012-05-21T12:17:11.153 に答える
1

2行目で試す

var colVals = $('#newtable td:nth-child(' + num + ')').map(function(){
于 2012-05-21T12:19:25.337 に答える