Cara menampilkan atau menyembunyikan elemen:
Untuk menampilkan atau menyembunyikan elemen, memanipulasi properti gaya elemen . Dalam kebanyakan kasus, Anda mungkin hanya ingin mengubah display
properti elemen :
element.style.display = 'none'; // Hide
element.style.display = 'block'; // Show
element.style.display = 'inline'; // Show
element.style.display = 'inline-block'; // Show
Atau, jika Anda masih ingin elemen untuk menempati ruang (seperti jika Anda menyembunyikan sel tabel), Anda bisa mengubah visibility
properti elemen sebagai gantinya:
element.style.visibility = 'hidden'; // Hide
element.style.visibility = 'visible'; // Show
Menyembunyikan kumpulan elemen:
Jika Anda ingin menyembunyikan koleksi elemen, cukup ulangi setiap elemen dan ubah elemen display
menjadi none
:
function hide (elements) {
elements = elements.length ? elements : [elements];
for (var index = 0; index < elements.length; index++) {
elements[index].style.display = 'none';
}
}
// Usage:
hide(document.querySelectorAll('.target'));
hide(document.querySelector('.target'));
hide(document.getElementById('target'));
hide(document.querySelectorAll('.target'));
function hide (elements) {
elements = elements.length ? elements : [elements];
for (var index = 0; index < elements.length; index++) {
elements[index].style.display = 'none';
}
}
<div class="target">This div will be hidden.</div>
<span class="target">This span will be hidden as well.</span>
Menampilkan koleksi elemen:
Sebagian besar waktu, Anda mungkin hanya akan beralih antara display: none
dan display: block
, yang berarti bahwa berikut ini mungkin cukup ketika menampilkan kumpulan elemen.
Secara opsional Anda dapat menentukan yang diinginkan display
sebagai argumen kedua jika Anda tidak menginginkannya sebagai default block
.
function show (elements, specifiedDisplay) {
elements = elements.length ? elements : [elements];
for (var index = 0; index < elements.length; index++) {
elements[index].style.display = specifiedDisplay || 'block';
}
}
// Usage:
var elements = document.querySelectorAll('.target');
show(elements);
show(elements, 'inline-block'); // The second param allows you to specify a display value
var elements = document.querySelectorAll('.target');
show(elements, 'inline-block'); // The second param allows you to specify a display value
show(document.getElementById('hidden-input'));
function show (elements, specifiedDisplay) {
elements = elements.length ? elements : [elements];
for (var index = 0; index < elements.length; index++) {
elements[index].style.display = specifiedDisplay || 'block';
}
}
<div class="target" style="display: none">This hidden div should have a display of 'inline-block' when it is shown.</div>
<span>Inline span..</span>
<input id="hidden-input" />
Atau, pendekatan yang lebih baik untuk menunjukkan elemen adalah dengan hanya menghapus display
styling inline untuk mengembalikannya ke keadaan semula. Kemudian periksa display
gaya elemen yang dikomputasi untuk menentukan apakah elemen tersebut disembunyikan oleh aturan bertingkat. Jika demikian, maka tunjukkan elemen tersebut.
function show (elements, specifiedDisplay) {
var computedDisplay, element, index;
elements = elements.length ? elements : [elements];
for (index = 0; index < elements.length; index++) {
element = elements[index];
// Remove the element's inline display styling
element.style.display = '';
computedDisplay = window.getComputedStyle(element, null).getPropertyValue('display');
if (computedDisplay === 'none') {
element.style.display = specifiedDisplay || 'block';
}
}
}
show(document.querySelectorAll('.target'));
function show (elements, specifiedDisplay) {
var computedDisplay, element, index;
elements = elements.length ? elements : [elements];
for (index = 0; index < elements.length; index++) {
element = elements[index];
// Remove the element's inline display styling
element.style.display = '';
computedDisplay = window.getComputedStyle(element, null).getPropertyValue('display');
if (computedDisplay === 'none') {
element.style.display = specifiedDisplay || 'block';
}
}
}
<span class="target" style="display: none">Should revert back to being inline.</span>
<span class="target" style="display: none">Inline as well.</span>
<div class="target" style="display: none">Should revert back to being block level.</div>
<span class="target" style="display: none">Should revert back to being inline.</span>
(Jika Anda ingin melangkah lebih jauh, Anda bahkan bisa meniru apa yang dilakukan jQuery dan menentukan gaya peramban default elemen dengan menambahkan elemen ke blank iframe
(tanpa stylesheet yang bertentangan) dan kemudian mengambil styling yang dihitung. Dengan melakukan itu, Anda akan tahu inisial yang sebenarnyadisplay
properti dari elemen tersebut dan Anda tidak perlu membuat hardcode nilai untuk mendapatkan hasil yang diinginkan.)
Beralih tampilan:
Demikian pula, jika Anda ingin beralih display
elemen atau kumpulan elemen, Anda bisa dengan mudah beralih ke setiap elemen dan menentukan apakah itu terlihat dengan memeriksa nilai yang dihitung dari display
properti. Jika itu terlihat, atur display
ke none
, jika tidak menghapus display
styling sebaris , dan jika itu masih disembunyikan, atur display
ke nilai yang ditentukan atau default yang di-hardcode block
,.
function toggle (elements, specifiedDisplay) {
var element, index;
elements = elements.length ? elements : [elements];
for (index = 0; index < elements.length; index++) {
element = elements[index];
if (isElementHidden(element)) {
element.style.display = '';
// If the element is still hidden after removing the inline display
if (isElementHidden(element)) {
element.style.display = specifiedDisplay || 'block';
}
} else {
element.style.display = 'none';
}
}
function isElementHidden (element) {
return window.getComputedStyle(element, null).getPropertyValue('display') === 'none';
}
}
// Usage:
document.getElementById('toggle-button').addEventListener('click', function () {
toggle(document.querySelectorAll('.target'));
});
document.getElementById('toggle-button').addEventListener('click', function () {
toggle(document.querySelectorAll('.target'));
});
function toggle (elements, specifiedDisplay) {
var element, index;
elements = elements.length ? elements : [elements];
for (index = 0; index < elements.length; index++) {
element = elements[index];
if (isElementHidden(element)) {
element.style.display = '';
// If the element is still hidden after removing the inline display
if (isElementHidden(element)) {
element.style.display = specifiedDisplay || 'block';
}
} else {
element.style.display = 'none';
}
}
function isElementHidden (element) {
return window.getComputedStyle(element, null).getPropertyValue('display') === 'none';
}
}
.target { display: none; }
<button id="toggle-button">Toggle display</button>
<span class="target">Toggle the span.</span>
<div class="target">Toggle the div.</div>
Anda cukup memanipulasi gaya div yang dimaksud ...
sumber
Anda dapat Sembunyikan / Tampilkan Div menggunakan fungsi Js. contoh di bawah ini
HTML -
sumber
Menggunakan gaya:
Menggunakan event handler dalam JavaScript lebih baik daripada
onclick=""
atribut dalam HTML:JavaScript:
jQuery dapat membantu Anda memanipulasi elemen DOM dengan mudah!
sumber
hidden
atribut HTML5Saya menemukan kode JavaScript sederhana ini sangat berguna!
sumber
Tetapkan HTML Anda sebagai
Dan sekarang atur javascript sebagai
sumber
sumber
Cukup Sederhana Setel atribut gaya ID:
Untuk Menampilkan div yang tersembunyi
Untuk menyembunyikan div yang ditampilkan
sumber
Dan jawaban Purescript, untuk orang yang menggunakan Halogen:
Jika Anda "memeriksa elemen", Anda akan melihat sesuatu seperti:
tetapi tidak ada yang benar-benar akan ditampilkan di layar Anda, seperti yang diharapkan.
sumber
Hanya Fungsi Sederhana Perlu Untuk mengimplementasikan Tampilkan / sembunyikan 'div' menggunakan JavaScript
sumber
Saya menemukan pertanyaan ini dan baru-baru ini saya mengimplementasikan beberapa UI menggunakan Vue.js sehingga ini bisa menjadi alternatif yang baik.
Pertama kode Anda tidak disembunyikan
target
ketika Anda mengklik Lihat Profil. Anda mengganti kontentarget
dengandiv2
.sumber
Anda dapat dengan mudah mencapai ini dengan menggunakan jQuery .toggle () .
sumber