在jQuery中遇到一个小问题,并在表格中选择/样式化列。
以下代码有效:
$(function() {
$("table").delegate('th.selcol','click', function(e) {
var iCol = $(this).parent().children().index(this)+1;
$("table tr td:nth-child(10)").each(function () {
$(this).toggleClass("colhighlight");
});
});
});
但是这段代码,将nth-child(10)更改为nth-child(iCol)会产生错误 “未捕获的异常:语法错误,无法识别的表达式:: nth-child”
$(function() {
$("table").delegate('th.selcol','click', function(e) {
var iCol = $(this).parent().children().index(this)+1;
$("table tr td:nth-child(iCol)").each(function () {
$(this).toggleClass("colhighlight");
});
});
});
非常感谢任何帮助。
答案 0 :(得分:14)
$("table tr td:nth-child(" + iCol + ")").each(function () {
$(this).toggleClass("colhighlight");
});
nth-child需要一个整数,而不是字符串,因此您可以使用连接来解决问题。
答案 1 :(得分:3)
试试这个:
"table tr td:nth-child("+iCol+")"
答案 2 :(得分:2)
将其更改为:
$(function() {
$("table").delegate('th.selcol','click', function(e) {
var iCol = $(this).parent().children().index(this)+1;
$("table tr td:nth-child(" + iCol + ")").each(function () {
$(this).toggleClass("colhighlight");
});
});
});
答案 3 :(得分:0)
试试这个:
$(function() {
$("table").delegate('th.selcol','click', function(e) {
var iCol = $(this).parent().children().index(this)+1;
$("table tr td:nth-child("+iCol+")").each(function () {
$(this).toggleClass("colhighlight");
});
});
});
希望它有效:)