Saya punya div
denganid="div_register"
. Saya ingin mengaturnyawidth
secara dinamis dalam JavaScript.
Saya menggunakan kode berikut ini:
getElementById('div_register').style.width=500;
tetapi baris kode ini tidak berfungsi.
Saya juga mencoba menggunakan unit px
seperti berikut, masih tidak berhasil:
getElementById('div_register').style.width='500px';
dan
getElementById('div_register').style.width='500';
dan
getElementById('div_register').style.width=500px;
tetapi tidak ada kode ini yang berfungsi untuk saya.
Saya tidak tahu apa yang salah.
Saya menggunakan Mozilla Firefox.
EDIT
<html>
<head>
<title>Untitled</title>
<script>
function show_update_profile() {
document.getElementById('black_fade').style.display='block';
//document.getElementById.('div_register').style.left=((window.innerWidth)-500)/20;
document.getElementById('div_register').style.height= "500px";
document.getElementById('div_register').style.width= '500px';
//alert('kutta');
document.getElementById('div_register').style.display='block';
document.getElementById('register_flag').value= 1;
document.getElementById('physical_flag').value= 0;
document.getElementById('cultural_flag').value= 0;
document.getElementById('professional_flag').value= 0;
document.getElementById('lifestyle_flag').value= 0;
document.getElementById('hobby_flag').value= 0;
//alert(window.innerWidth);
}
</script>
<style>
.white_content {
display:none;
}
</style>
</head>
<body>
<div id="main">
<input type="button" onclick="javascript:show_update_profile();" id="show" name="show" value="show"/>
</div>
<div id="div_register">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
welcome
</td>
</tr>
</table>
</div>
</body>
</html>
javascript
Saswat
sumber
sumber
onload
acara selesai ?div_register
adalah id yang tepat dari elemen Anda? Mungkin memberi kami html juga ...style.width="500px";
seharusnya benar.onclick="show_update_profile()"
sebagai penggantionclick="javascript:show_update_profile()"
Jawaban:
Properti yang Anda gunakan mungkin tidak berfungsi di Firefox, Chrome, dan browser non-IE lainnya. Untuk membuat ini berfungsi di semua browser, saya juga menyarankan untuk menambahkan yang berikut ini:
Untuk kompatibilitas silang, Anda masih perlu menggunakan properti. Keteraturan mungkin juga penting. Misalnya, dalam kode saya, saat menyetel properti gaya dengan JavaScript, saya menyetel atribut gaya terlebih dahulu, lalu saya menyetel properti:
Jadi, contoh paling kompatibel lintas-browser untuk Anda adalah:
Saya juga ingin menunjukkan bahwa metode yang lebih mudah dalam mengelola gaya adalah dengan menggunakan pemilih kelas CSS dan meletakkan gaya Anda di file CSS eksternal. Kode Anda tidak hanya jauh lebih mudah dipelihara, tetapi Anda benar-benar akan berteman dengan desainer Web Anda!
Sekarang, saya dapat dengan mudah menambahkan dan menghapus atribut kelas, satu properti tunggal, daripada memanggil beberapa properti. Selain itu, ketika desainer Web Anda ingin mengubah definisi tentang arti menjadi lebar, dia tidak perlu melihat-lihat kode JavaScript Anda yang dipelihara dengan indah. Kode JavaScript Anda tetap tidak tersentuh, namun tema aplikasi Anda dapat dengan mudah disesuaikan.
Teknik ini mengikuti aturan memisahkan konten Anda (HTML) dari perilaku Anda (JavaScript), dan presentasi Anda (CSS).
sumber
display: block
itu , juga ditetapkan.display:block;cursor:pointer;cursor:hand
semua dalam panggilan setAttribute yang sama. Jika Anda ingin hidup Anda lebih mudah, gunakan pustaka JavaScript progresif seperti jQuery. Satu-satunya alasan saya menggunakan JavaScript mentah dalam kode saya adalah karena itu untuk menyematkan kode di situs web klien, sehingga lingkungan sebenarnya akan berbeda dari situs ke situs, dan cara termudah untuk menghindari konflik perpustakaan di alam liar adalah dengan tidak menggunakannya.Ini adalah beberapa cara untuk menerapkan gaya ke sebuah elemen. Coba salah satu dari contoh di bawah ini:
sumber
Perbaiki kesalahan ketik pada kode Anda ("dokumen" dieja salah pada baris 3 & 4 fungsi Anda, dan ubah pengendali kejadian onclick menjadi: onclick = "show_update_profile ()" dan Anda akan baik-baik saja. Anda harus benar-benar mengikuti saran jmort dan cukup siapkan 2 kelas css yang Anda ganti dalam javascript - ini akan membuat hidup Anda jauh lebih mudah dan menyelamatkan diri Anda dari semua pengetikan tambahan. Kesalahan ketik yang Anda lakukan adalah contoh sempurna mengapa ini lebih baik pendekatan.
Untuk poin brownies, Anda juga harus memeriksa element.addEventListener untuk menetapkan penangan kejadian ke elemen Anda.
sumber
Jika Anda menghapus
javascript:
awalan dan menghapus bagian untuk id yang tidak dikenal seperti'black_fade'
dari kode javascript Anda, ini seharusnya berfungsi di firefoxContoh kental:
sumber
Firebug
plugin untuk Firefox? Ini akan banyak membantu AndaThe
onclick
atribut tombol mengambil string dari JavaScript, bukan href seperti yang Anda berikan. Hapus saja bagian "javascript:".sumber
Hati-hati
span
!myspan.styles.width='100px'
tidak mau bekerja.Ubah
span
menjadidiv
.sumber
span
merupakan elemen sebaris secara default, dan oleh karena itu tidak akan mematuhi pengaturan ukuran apa pun di atasnya. Mengubah CSS-nya menjadidisplay: block
,,display: flex
ataudisplay: inline-block
akan membuatnya bekerja dengan baik sepertidiv
(elemen blok secara default).styles.width
menjadistyle.width
. :)