JQuery ile bir div nasıl gizlenir?


83

Bir HTML'yi gizlemek istediğimde <div>, aşağıdaki JavaScript kodunu kullanıyorum:

var div = document.getElementById('myDiv');
div.style.visibility = "hidden";
div.style.display = "none";

Bu kodun jQuery'deki karşılığı nedir?

Yanıtlar:


154
$('#myDiv').hide();

veya

$('#myDiv').slideUp();

veya

$('#myDiv').fadeOut();

Bu aslında display:noneüç farklı animasyon efektiyle aynı . Doğru cevap @ honk31'dir .css("visibility", "hidden")ve bir amaç vardır! visiblity:hiddenAksine display:noneiken alanı kullanarak tutar display:noneasla orada mevcut gibi davranacaktır.
Geliştirici

1
@ Geliştirici İlginç ve potansiyel olarak yararlı bir nokta olsa da, çözümünüzün istenen etki olduğunu gösteren hiçbir şey göremiyorum. Aksine, OP'nin sorularını oldukça iyi yanıtladığı görülüyor. Benim amaçlarım için de, alanı kaplamaya devam etmek aslında oldukça istenmeyen bir durum olurdu. Kibirli olmayın.
donutguy640

RTFM'den önce söylediğimiz gibi. İlk gönderide bir kişi visibility = "hidden" ve display = "none" arasındaki farkın ne olduğunu soruyor, nasıl gizleme animasyonu yapılacağını sordu mu? Konuyla kalın!
Geliştirici


27
$("#myDiv").hide();

css görüntüsünü yok olarak ayarlayacaktır. Görünürlüğü de gizli olarak ayarlamanız gerekiyorsa, bunu şu yolla yapabilirsiniz:

$("#myDiv").css("visibility", "hidden");

veya her ikisini bir zincirde birleştirin

$("#myDiv").hide().css("visibility", "hidden");

veya her şeyi tek bir css () işlevi ile yazın

$("#myDiv").css({
  display: "none",
  visibility: "hidden"
});

Bu cevap doğru seçilmeli, insanların neden tamamen yanlış cevaba oy verdiklerine dair hiçbir fikrim yok!
Geliştirici

14

Öğenin alanını korumasını istiyorsanız, kullanmanız gerekir,

$('#myDiv').css('visibility','hidden')

Öğenin boşluğunu korumasını istemiyorsanız, şunu kullanabilirsiniz:

$('#myDiv').css('display','none')

ya da sadece,

$('#myDiv').hide();

7

$("myDiv").hide(); ve $("myDiv").show(); Internet Explorer'da o kadar iyi çalışmıyor.

Bunu aşmanın yolu, myDivkullanmanın html içeriğini elde etmekti .html() .

Daha sonra yeni oluşturulmuş bir DIV'ye yazdım. Daha sonra vücuda DIV eklenen ve değişkenin içeriğini ekteki ContentiçinHiddenField içeriğini ardından DIV'yi göstermek istediğimde yeni oluşturulan div'den bu içeriği okudum.

.remove()Geçici olarak DIVs html'mi tutan DIV'den kurtulmak için yöntemi kullandıktan sonra .

var Content = $('myDiv').html(); 
        $('myDiv').empty();
        var hiddenField = $("<input type='hidden' id='myDiv2'>");
        $('body').append(hiddenField);
        HiddenField.val(Content);

ve sonra içeriği tekrar GÖSTERMEK istediğimde.

        var Content = $('myDiv');
        Content.html($('#myDiv2').val());
        $('#myDiv2').remove();

Bu, .hide()& .show()yöntemlerinden daha güvenilirdi .



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.