Javascript 用拆离拆下表的一部分

Javascript 用拆离拆下表的一部分,javascript,jquery,jquery-selectors,checkbox,Javascript,Jquery,Jquery Selectors,Checkbox,我需要一个函数,如果选中或不选中复选框,它可以在表中添加和删除列。我现在得到的代码在一定程度上运行良好。控制台消息在正确的时间出现,表列正确地添加到HTML中 问题在于else{}部分:当复选框未选中时,列不会被删除。在firebug中,我收到一条消息,我的选择器错误,但我不确定如何修复它。假设选择器正确,我的.detach(this)应用程序正确吗 function makevisible(idsandclasses,object,folder){ $('#checkbox

我需要一个函数,如果选中或不选中复选框,它可以在表中添加和删除列。我现在得到的代码在一定程度上运行良好。控制台消息在正确的时间出现,表列正确地添加到HTML中

问题在于
else{}
部分:当复选框未选中时,列不会被删除。在firebug中,我收到一条消息,我的选择器错误,但我不确定如何修复它。假设选择器正确,我的
.detach(this)
应用程序正确吗

 function makevisible(idsandclasses,object,folder){     
    $('#checkbox'+idsandclasses).change(function() {
      console.log(idsandclasses, "before if checked")

    if($('#checkbox'+idsandclasses).is(':checked')){
       console.log(idsandclasses, "if checked")
       $('tr:contains("Details")').append('<td id="rowdetails'+folder+'">'+object.name+'</td>')
       }else{
             console.log("unchecked")
             $('#rowdetails'+folder).detach(this)
             }  
    })
};
这是firebug消息:

类型错误:expr.replace不是一个函数
expr=expr.replace(rattributeQuotes,“='$1']”)

这是我的jquery-1.9.0.js文件中的一部分,我的代码有问题:

expr = expr.replace( rattributeQuotes, "='$1']" );

我假设不需要HTML。如果是这样,尽管让我知道

您需要将选择器传递到
分离
(或者完全不传递任何可选项)。您正在传递一个DOM元素
this
。理想情况下,
$(“#rowdetails”+文件夹)
将与您尝试分离的元素匹配

资料来源:


从分离中删除
。只要
.detach()
就足够了。

我想问题是

$(document).ready(function() {
    $("#dot0001").hover(function(){
makevisible("info0001", object0001,"object0001")
})
})

此代码调用
makevisible
,然后将返回的值(即
undefined
)传递给
。hover()
。那是不对的。只需调用
makevisible
,或将实际函数传递给
.hover()
。要删除表中的一列,必须删除每行中相应的
。@jfriend00我知道,谢谢。一旦我有了答案,我就知道如何把它应用到所有的细胞上。我只是尽量保持简单,但这并不能解决病人的问题selector@Haley无效选择器在哪里?因为
$('#rowdetails'+文件夹)
应该是一个有效的选择器(应该扩展到
$(“#rowdetailsobject0001”)
我在我的问题中添加了firebug消息。可能这有助于
文件夹的内容是什么?你确定分离行是有错误的吗?根据firebug,错误消息来源于我的“jquery.1.9.0.js”如果这是一个问题,没有控制台消息应该出现,没有?尝试一下。这使我的网站真的滞后,并推动我的mac进程“WindowsServer”对于疯狂的CPU使用率。?!,这里有一些你应该知道的事情。
这个
指向绑定了更改函数的同一个对象。这是一个检查吗?
$(document).ready(function() {
    $("#dot0001").hover(function(){
makevisible("info0001", object0001,"object0001")
})
})