簡體   English   中英

jQuery顯示:無,顯示:內聯塊

[英]Jquery display:none, display: inline-block

我必須從display: none設置一個元素display: nonedisplay: inline-block
當單擊另一個元素時。

jQuery始終檢測到它的display: none

 (function ($) { $(document).ready(function() { $("#click").click(function () { if($("#show").css('display','none')) { $('#show').css('display','inline-block'); } else { $('#show').css('display','none'); } }); }); })(jQuery); 
 #show { display: none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="click"> Click </div> <div id="show"> Text </div> 

小提琴

if語句錯誤,

if($("#show").css('display','none'))

您正在為if語句中的show元素分配css屬性,請改用.is(':visible')

if(!$("#show").is(':visible'))

更新您的if()以使用is(':visible')函數:

var displayType = ( ! $("#show").is(':visible') ) ? 'inline-block' 
                                                  : 'none';

$('#show').css('display', displayType);

jsFiddle演示

像許多jQuery函數一樣, css根據您傳遞的參數具有兩種不同的行為。

如果僅傳遞第一個參數(css屬性),則它將返回css屬性的值。

如果傳遞css屬性和值,它將設置該值並返回實際的jQuery對象。

嘗試這個:

(function ($) {
    $(document).ready(function() {
    $("#click").click(function () {
        //Get the div in jquery object.
        var div = $("#show");
        //Determine the actual value of the display.
        var display = div.css('display');

        //Determine the desired value.
        if (display == 'none')
            display = 'inline-block';
        else
            display = 'none';

        //Change the value
        div.css('display', display);

        });
    });
})(jQuery);

暫無
暫無

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

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