Rumah > Soal Jawab > teks badan
Jika anda mentakrifkan fungsi yang menukar atribut gaya elemen menggunakan pengisytiharan fungsi, ralat akan dilaporkan
Tetapi tiada ralat akan dilaporkan di bawah window.onload
大家讲道理2017-07-05 11:01:56
Baby, ini tiada kaitan dengan fungsi apa yang anda gunakan! Ini kerana onload akan dicetuskan selepas dokumen dimuatkan, dan anda mesti melaporkan ralat kerana dokumen belum dimuatkan dan elemen itu tidak ditemui
PHP中文网2017-07-05 11:01:56
Ini tidak ada kena mengena dengan pengisytiharan fungsi dan ketiadaan nama, tetapi dengan masa panggilan fungsi.
Jika kita menukarnya kepada ini, adakah kita masih boleh mencari masalah dengan fungsi tanpa nama?
function change () { /* ... */ }
window.onload = change
Apabila yang pertama dipanggil, elemen kotak belum tersedia, jadi ralat dilaporkan; Anda boleh log objek kotak dalam fungsi perubahan dan lihat.
扔个三星炸死你2017-07-05 11:01:56
Masalahnya bukan ini, anda perlu tahu bahawa dokumen itu dimuatkan dari atas ke bawah, anda meletakkan fail js di hujung head
里
执行到js文件的时候,这个时候连body都还没加载,自然无法获取到box,也就无法设置css了。
你可以把js文件放到body
:
.
.
.
<script src="./x.js"></script>
</body>
Dengan cara itu anda tidak memerlukannyawindow.onload
了
如果放在了head里面
就需要在js文件头部写window.onload=function(){......}