2017-08-25 10 views
0

アイテムを削除し、3文字の「app-code」をクッキーに追加するコードがあります。サイトはこのクッキーを読み取り、次回は描画しません。jQuery remove()要素を削除しない

ユーザーが「非表示ボタン」(削除しようとしているdiv内にある)をクリックしたときにDOMからアイテムが削除されるように、コードを書き込もうとしています。

のJavaScript

$('.HideLinkButton').click(function(e){ 
e.preventDefault(); 
var Enabled = $(this).hasClass('ButtonToggled'); 
var Favoured = $(this).closest('.Item a').hasClass('btn-favourite'); 
if (!Favoured) { 
    if (Enabled) { 
     removeHiddenLink($(this).closest('.Item').data('application-code')); 
     //$(this).removeClass('ButtonToggled'); 
     $(this).closest('.Item a').removeClass('Hidden'); 
     $(this).closest('.Item').remove(); 

     //Adds hidden to class 
     $(this).closest('.Item a').addClass('Hidden'); 
     $(this).closest('.Item').addClass('Hidden'); 

     //Removes element completely 
     $(this).children('.Item').remove(); 

    } else { 
     //Adds application code to 'hidden'cookie. 
     addHiddenLink($(this).closest('.Item').data('application-code')); 

     //Adds 'buttontoggled' to HideButton div. 
     $(this).addClass('ButtonToggled'); 

     //Removes element completely 
     $(this).children('.Item').remove(); 
    } 
} 

})。何らかの理由で

、最後.remove()の行は、私はこの1つについて話している

機能しません。

$(this).children('.Item').remove(); 

を、私はページを更新すると、項目がなくなっています。これは、app-codeを 'hidden'クッキーに入れているため、C#スクリプトはそれを画面に書き込まないことを知っているからです。

クリックしただけでは要素が削除されません。

私はオンラインで何かを見つけることができません。または、これがうまくいかない理由が見つかりません。

ありがとうございます!

+1

あなたは申し訳ありませんが、ボタンのHTMLとdivの – Niladri

+0

を投稿することができ、私はコードのタグを追加するかどうかはわかりません、私はここに –

答えて

0

のような行を変更してみてください:

$(this).find('.Item').remove(); 
+0

新たなんだそれはdoesnの何もしない、問題は依然として適用されます。 –

+0

クラス.Itemは$(this)の子ではありませんか?あなたは$(this))のようなものを試してみることができますか? –

+0

AhにアクセスできるようになるまでDOMを上げてみてください!私はそれを.closest( '。item a')に変更しました。ありがとうございました! –

関連する問題