簡體   English   中英

<a>點擊鏈接后</a>如何在javascript中使<a>元素消失?</a>

[英]How to make in javascript that <a> element disappear after you click on link?

我有這個代碼,當用戶點擊顯示評論時,會顯示帶注釋的div。 問題是,點擊后顯示評論會保持顯示狀態。

<html>
    ..
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
...
    <body>
    ...
    <div class='comments-container' style='display: none;'>
comment 1: ...   
comment 2: ...
</div>
    <a class='show-comments'>Show Comments</a>
    ...
    <script>
    $(".show-comments").click(function(){
    $(".comments-container").slideDown("slow");
    });
    </script>
</body>
</html>

點擊鏈接后如何在javascript中使元素消失? 像這樣的東西:

<a class='show-comments' style='display: none;'>Show Comments</a>

或者更好的是,如何將“顯示注釋”更改為“隱藏注釋”,當您單擊“隱藏注釋”時,將隱藏注釋(帶有注釋的div再次設置為dispay:none),並再次顯示“顯示注釋”。 也許用兩個元素可以更容易地創建:

<a class='show-comments'>Show Comments</a>
<a class='hide-comments' style='display: none;'>Hide Comments</a>

改變為

<a class='show-comments' style='display: none;'>Show Comments</a>
<a class='hide-comments'>Hide Comments</a> 

如果有更好的方法使用除javascript之外的其他語言,請隨時編寫它。

你應該將jQuery包裝在.ready函數中,如下所示:

$(document).ready(function() {
    $(".show-comments").click(function(){
        $(".comments-container").slideDown("slow");
    });
});

這應該工作。

要回答你的其余問題:

對於這兩個操作,您可以使用相同的元素作為鏈接。

$(document).ready(function() {
    $(".show-comments").on('click', function(){
        $(this).removeClass().html('Hide Comments').addClass('hide-comments');
        $(".comments-container").slideDown("slow");
    });
    $(".hide-comments").on('click', function(){
        $(this).removeClass().html('Show Comments').addClass('show-comments');
        $(".comments-container").slideUp("slow");
    });
});

注意:我使用.on()方法將事件處理程序附加到jQuery對象中的元素。

我知道這是一個老帖子,但我發現了一些非常簡單的事情。

<a class='show-comments' onClick="$(this).hide()">Show Comments</a>

希望它幫助像我這樣試圖找到它的人。

像這樣的東西:

$(document).ready(function() {
    $(".show-comments").click(function(){
        var oThisLink = jQuery(this);
        oThisLink.toggleClass('someclassname');
        if( oThisLink.hasClass('someclassname') ) {
            oThisLink.text('Hide Comments');
            jQuery(".comments-container").slideDown("slow");
        }
        else {
            oThisLink.text('Show Comments');
            jQuery(".comments-container").slideUp("slow");
        }
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM