0

「dc」クラスのハイパーリンクのいずれかをクリックすると、親の「コンテンツ」div をフェードアウトする必要があります。次のコードは私が既に持っているものですが、機能しません。

<script>
$('.dc').unbind("click").click(function(){
var dic = this.id;
var strlinkc = "somepage.php?cid=" + dic;
$.post(strlinkc, function(data, textStatus){
$('a.dc#'+dic).closest('.content').fadeOut("slow");
});
});
</script>

<div class="content">
<div id="somediv"><a class="dc" id="23" href="javascript:void(0);">update</a></div>
<div id="anotherdiv">
blah blah blah more text and images
</div>
<div id="yetanother"><a class="dc" id="23" href="javascript:void(0);">update</a></div>
</div>
4

3 に答える 3

3

コードを dom Ready ハンドラに入れます。

$(function () {
    $('.dc').unbind("click").click(function () {
        var $this = $(this);
        var strlinkc = "somepage.php?cid=" + this.id;
        $.post(strlinkc, function (data, textStatus) {
            $this.closest('.content').fadeOut("slow");
        });
        return false;
    });
});
于 2012-07-02T14:32:39.620 に答える
1
$('.dc').click(function(){
    $(this).parents('.content').fadeOut('fast');
    return false;
});
于 2012-07-02T14:42:58.650 に答える
0

unbindを使用する代わりに、デフォルトのイベントを防止します。

$(function () {
    $('.dc').click(function (e) {
        e.preventDefault();
        var $this = $(this);
        var strlinkc = "somepage.php?cid=" + this.id;
        $.post(strlinkc, function (data, textStatus) {
            $this.closest('.content').fadeOut("slow");
        });
        return false;
    });
});
于 2012-07-02T21:11:33.703 に答える