Meskipun pertanyaan ini telah dijawab berkali-kali sebelumnya, saya pikir saya akan menambahkannya dengan jawaban yang lebih lengkap dan solid untuk pengguna masa depan. Jawaban utama memang menyelesaikan masalah, tetapi saya percaya mungkin lebih baik untuk mengetahui / memahami beberapa cara untuk menunjukkan / menyembunyikan sesuatu.
.
Mengubah tampilan menggunakan css ()
Ini adalah cara saya biasa melakukannya sampai saya menemukan beberapa cara lain ini.
Javascript:
$("#element_to_hide").css("display", "none"); // To hide
$("#element_to_hide").css("display", ""); // To unhide
Pro:
- Menyembunyikan dan menyembunyikan. Itu saja.
Cons:
- Jika Anda menggunakan atribut "display" untuk sesuatu yang lain, Anda harus membuat hardcode nilai dari apa yang sebelumnya disembunyikan. Jadi jika Anda memiliki "inline", Anda harus melakukannya
$("#element_to_hid").css("display", "inline");
jika tidak maka default akan kembali ke "block" atau apa pun yang akan dipaksa masuk.
- Cocok untuk kesalahan ketik.
Contoh: https://jsfiddle.net/4chd6e5r/1/
.
Mengubah tampilan menggunakan addClass () / removeClass ()
Saat menyiapkan contoh untuk yang satu ini, saya benar-benar menemui beberapa kekurangan pada metode ini yang membuatnya sangat tidak bisa diandalkan.
Css / Javascript:
.hidden {display:none}
$("#element_to_hide").addClass("hidden"); // To hide
$("#element_to_hide").removeClass("hidden"); // To unhide
Pro:
- Menyembunyikan .... terkadang. Lihat p1 pada contoh.
- Setelah unhiding, itu akan kembali menggunakan nilai tampilan sebelumnya .... kadang-kadang. Lihat p1 pada contoh.
- Jika Anda ingin mengambil semua objek tersembunyi, Anda hanya perlu melakukannya
$(".hidden")
.
Cons:
- Tidak menyembunyikan jika nilai tampilan disetel langsung pada html. Lihat p2 pada contoh.
- Tidak menyembunyikan jika tampilan diatur dalam javascript menggunakan css (). Lihat p3 pada contoh.
- Kode sedikit lebih banyak karena Anda harus mendefinisikan atribut css.
Contoh: https://jsfiddle.net/476oha8t/8/
.
Mengubah tampilan menggunakan toggle ()
Javascript:
$("element_to_hide").toggle(); // To hide and to unhide
Pro:
- Selalu berhasil.
- Memungkinkan Anda untuk tidak perlu khawatir tentang status sebelum beralih. Penggunaan yang jelas untuk ini adalah untuk .... tombol sakelar.
- Singkat dan sederhana.
Cons:
- Jika Anda perlu tahu negara bagian tempat ia beralih untuk melakukan sesuatu yang tidak terkait langsung, Anda harus menambahkan lebih banyak kode (pernyataan if) untuk mengetahui di negara mana ia berada.
- Mirip dengan con sebelumnya, jika Anda ingin menjalankan satu set instruksi yang berisi toggle () untuk tujuan persembunyian, tetapi Anda tidak tahu apakah itu sudah disembunyikan, Anda harus menambahkan tanda centang (pernyataan if) untuk mencari tahu dulu dan jika sudah disembunyikan, maka lewati. Lihat p1 dari contoh.
- Terkait dengan 2 kontra sebelumnya, menggunakan toggle () untuk sesuatu yang secara khusus bersembunyi atau ditampilkan secara khusus, dapat membingungkan orang lain yang membaca kode Anda karena mereka tidak tahu ke arah mana mereka akan beralih.
Contoh: https://jsfiddle.net/cxcawkyk/1/
.
Mengubah tampilan menggunakan hide () / show ()
Javascript:
$("#element_to_hide").hide(); // To hide
$("#element_to_hide").show(); // To show
Pro:
- Selalu berhasil.
- Setelah unhiding, itu akan kembali menggunakan nilai tampilan sebelumnya.
- Anda akan selalu tahu ke negara mana Anda bertukar sehingga Anda:
- tidak perlu menambahkan jika pernyataan untuk memeriksa visibilitas sebelum mengubah status jika keadaan penting.
- tidak akan membingungkan orang lain yang membaca kode Anda tentang negara bagian tempat Anda beralih jika, jika negara bagian itu penting.
- Intuitif.
Cons:
- Jika Anda ingin meniru toggle, Anda harus memeriksa statusnya terlebih dahulu dan kemudian beralih ke status lainnya. Gunakan toggle () sebagai gantinya untuk ini. Lihat p2 dari contoh.
Contoh: https://jsfiddle.net/k0ukhmfL/
.
Secara keseluruhan, saya akan mengatakan yang terbaik untuk menjadi hide () / show () kecuali Anda secara spesifik membutuhkannya untuk menjadi toggle. Saya harap Anda menemukan informasi ini bermanfaat.
return false
dionclick
?