我已经为与我的表关联的所有td添加了一个类。我创建了一个复选框并使用以下代码选中复选框,取其值只是一个数字,将该数字添加到单词列并将其放入变量中。我有一个类,例如column3。我正在使用我的代码使用复选框的值来构建名称column3。我想让它隐藏那个特定的类。当我警告col值时,它给了我正确的名字。但是,当我尝试执行代码时,列不会隐藏。我不知道它是否与jQuery如何阅读我自己创建的对象有关。任何建议,将不胜感激。这是jQuery的代码。
$("input:checkbox").click(function(){
if($(this).attr('checked')){
alert($(this).val());
var col ='column' + $(this).val();
col = '".' + col + '"';
alert(col);
$(col).hide();
}
else {
$(col).show();
}
答案 0 :(得分:3)
试试这个:
$("input:checkbox").click(function(){
var $this = $(this),
col = '.column' + $this.val();
if ($this.attr('checked')){
$(col).hide();
}
else {
$(col).show();
}
});
主要问题是您使用引号包装了类名,因此您的选择器看起来像这样:$('".column3"')
它应该看起来像$('.column3')
。
此外,您在“if checked”控件中声明col
并尝试在else语句中使用它。
答案 1 :(得分:1)
你是否想要做这样的事情:
您无法将"
添加到变量col
值。例如,你最终得到的是“.column1”而不仅仅是“.column1”。此外,当您尝试显示列时,col
变量不在范围内。
答案 2 :(得分:0)
这是一个有用的,我认为你在
中有双引号问题col = '".' + col + '"';
我试过这样,这个有效:
$(document).ready(function(){
$("input:checkbox").click(function(){
var col ='.column' + $(this).attr("value");
if($(this).attr('checked')){
$(col).hide();
}
else {
$(col).show();
}
});
});