在jQuery中传递数字变量

时间:2012-05-21 12:15:44

标签: jquery variables numbers numeric

为什么我不能像这样将num变量传递给这个函数:

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

有一个简单的方法吗?

感谢。

3 个答案:

答案 0 :(得分:3)

您需要将num的值与选择器字符串:

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

目前你只有一个字符串文字“#newtable td:nth-​​child(num)”,而不是对选择器引擎有意义的东西,例如“#newtable td:nth-​​child(2)”。 / p>

答案 1 :(得分:3)

因为你的jQuery选择器是一个字符串,你需要使用连接“构建”它,如下所示:

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

否则num只是字符串文字中的一些字符。

答案 2 :(得分:1)

试试第2行

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