Tajuk yang ditulis semula: Bagaimana untuk mengeluarkan JavaScript yang terbaik?
P粉969253139
2023-08-14 11:27:09
<p>Saya sedang belajar JavaScript dan saya melihat bahawa cara yang disyorkan untuk mengeluarkan kod ialah menggunakan document.getElementById... dan Document.write hanya boleh digunakan dalam ujian...</p>
<p>Adakah ini cara terbaik untuk mengeluarkan sebarang skrip? Apakah sebenarnya yang dilakukan oleh kod ini? Saya menulis kod berikut, tidak pasti cara "demo" berfungsi dan mengapa ia perlu... </p>
<pre class="brush:php;toolbar:false;"><html>
<kepala>
<skrip>
fungsi addNumbers(arr){
var i, jawapan =0;
untuk(i=0; i<arr.length; i++){
jawapan += arr[i];
}
kembalikan jawapan;
}
</skrip>
</head>
<badan>
<h4> Fungsi addNumbers: </h4>
<p id="demo"></p>
<skrip>
var myArray = [1,2,3,4,5,6,7,8,9];
document.getElementById("demo").innerHTML = addNumbers(myArray);
</skrip>
</badan>
</html></pre>
<p><br /></p>
Demo merujuk kepada perenggan dengan id "demo". Anda boleh menggunakan id (yang mestilah unik di seluruh halaman HTML) untuk mengenal pasti dan menggunakan teg html dalam javascript.
document.write memang tidak digunakan sekerap itu lagi. Terdapat beberapa sebab. Memandangkan terdapat penjelasan yang baik di web, lihat jawapan ini atau artikel ini.
Jika anda menambah beberapa teg yang hilang seperti
</head>
,<body>
和<script>
kod anda akan berfungsi dengan baik dan pengelogan konsol sedang berlaku. Jalankan coretan kod di bawah.Sebagai nota sampingan, amalan terbaik sekarang ialah melakukan pemprosesan dan pemuatan javascript di bahagian bawah halaman sebelum menutup tag
</body>
. Kerana sebarang pemuatan berlaku selepas DOM dimuatkan.Undur satu langkah, maju dua langkah:
document.write
adalah salah satu daripada tiga fungsidocument.open()
Membuka dokumen untuk menulis dari awal, memadam kandungan dokumen sedia ada jika ada.document.write( string)
Masukkan rentetan ke dalam aliran aksara yang digunakan untuk membina halaman web.document.close()
Tutup dokumen untuk menulis. Penulisan lanjut akan membuka semula dokumen dan mengosongkan kandungan sedia ada dalam proses.Sekarang pertimbangkan perkara berikut
document.open/write/close
Wujud sebelum DOM diseragamkan dan tersedia.Oleh itu,
document.write
在现代Web编程中几乎没有用处。如果在页面加载完成后使用,它会清除页面内容。它几乎完全限于学生教程,这些学生尚未学习到DOM的存在,以及在使用window.open
mempunyai sedikit kegunaan dalam pengaturcaraan web moden. Jika digunakan selepas halaman selesai dimuatkan, ia mengosongkan kandungan halaman. Ia hampir terhad sepenuhnya kepada tutorial untuk pelajar yang belum mengetahui bahawa DOM wujud dan untuk digunakan sekali-sekala semasa menulis kandungan secara pengaturcaraan dalam tetingkap kanak-kanak yang dibuka menggunakanwindow.open
.Semua elemen HTML dalam halaman wujud sebagai nod elemen HTML dalam DOM. Anda boleh menukar kandungan halaman yang diberikan apabila dikemas kini dengan rentetan teks daripada skrip dengan memanggil atribut seperti
document.getElementById
或document.querySelector
之类的方法来访问这些元素,并作为JavaScript对象值返回。HTMLElement根据标签类型而异,但如果它们表示HTML容器元素,则具有诸如innerHTML
和textContent
.Untuk menjawab soalan anda, "demo" ialah nilai id bagi HTMLParagraphElement, di mana nilai id digunakan untuk mengakses elemen tertentu dalam DOM - nilai
id
mestilah unik antara HTMLElements halaman.Dengan menggunakan
document.getElementById
查询DOM可以获取(段落)元素对象。随后更改元素的innerHTML
kandungan akan menyebabkan dokumen dipaparkan semula dengan kandungan baharu, mengemas kini paparan halaman.