如果选中复选框,我需要一个添加和删除表中列的函数。我目前获得的代码可以正常工作。控制台消息在正确的时间出现,表列正确地添加到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)
}
})
};
我在这里使用函数:
$(document).ready(function() {
$("#dot0001").hover(makevisible("info0001", object0001,"object0001"))
})
这是萤火虫的消息:
TypeError:expr.replace不是函数
expr = expr.replace(rattributeQuotes,“='$ 1']”)
这是我的jquery-1.9.0.js文件中我的代码出现问题的部分:
expr = expr.replace( rattributeQuotes, "='$1']" );
我认为不需要HTML。如果那应该是这种情况虽然让我知道。
答案 0 :(得分:0)
您需要将选择器传递给detach
(或者根本没有选择它)。您正在传递this
这是一个DOM元素。理想情况下,$('#rowdetails'+folder)
将匹配您尝试分离的元素。
来源:
答案 1 :(得分:0)
从分离中删除this
。只需.detach()
即可。
答案 2 :(得分:0)
我认为问题是
$(document).ready(function() {
$("#dot0001").hover(function(){
makevisible("info0001", object0001,"object0001")
})
})