0

チェックボックスがオンになっているかどうかに関係なく、テーブルの列を追加および削除する関数が必要です。私が現時点で入手したコードは、ある程度は正常に機能します。コンソールメッセージは適切なタイミングで表示され、テーブル列がHTMLに正しく追加されます。

問題はそのelse{}部分にあります。チェックボックスがオフになっていると、列が削除されません。ファイアバグでは、セレクターが間違っているというメッセージが表示されますが、修正方法がわかりません。そして、セレクターが正しかったと仮定すると、私のアプリケーションは.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"))
})

これはfirebugメッセージです:

TypeError:expr.replaceは関数ではありません
expr = expr.replace(rattributeQuotes、 "='$ 1']")

そして、これは私のjquery-1.9.0.jsファイルの一部であり、私のコードには次の問題があります。

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

HTMLは必要ないと思いました。それが事実であるならば、私に知らせてください。

4

3 に答える 3

0

セレクターをに渡す必要がありますdetach(またはオプションでは何も渡しません)。thisDOM要素であるパスを渡します。理想的に$('#rowdetails'+folder)は、デタッチしようとしている要素と一致します。

ソース:

http://api.jquery.com/detach/

于 2013-01-28T04:57:31.147 に答える
0

thisデタッチから削除します。ちょうど.detach()十分です。

于 2013-01-28T04:59:39.187 に答える
0

問題は

$(document).ready(function() {
    $("#dot0001").hover(function(){
makevisible("info0001", object0001,"object0001")
})
})
于 2013-01-28T05:17:04.363 に答える