Передача числовой переменной в jQuery
Почему я не могу передать переменную num этой функции следующим образом:
function getColumnData(num) {
var colVals = $('#newtable td:nth-child(num)').map(function(){
return $(this).text();
}).get();
alert(colVals);
}
Есть ли простой способ обойти это?
Благодарю.
3 ответа
Решение
Вам необходимо объединить значение num
со строкой селектора:
var colVals = $('#newtable td:nth-child(' + num + ')').map(function() {
//Do stuff
});
В настоящее время у вас есть строковый литерал "#newtable td:nth-child(num)" вместо того, что имеет смысл для механизма выбора, например "#newtable td:nth-child(2)".
Поскольку ваш селектор jQuery является строкой, вам нужно "собрать" его, используя конкатенацию, например:
$('#newtable td:nth-child(' + num + ')')
Иначе num
это просто некоторые символы в строковом литерале.
Попробуйте на линии 2
var colVals = $('#newtable td:nth-child(' + num + ')').map(function(){