Rumah >hujung hadapan web >tutorial js >Petua cepat: xmlhttprequest dan innerHtml
petua cepat untuk xmlhttprequest dan innerhtml
Mendapatkan yang paling banyak daripada XMLHTTPREQUEST sering melibatkan menggunakan XML yang dihasilkan oleh pelayan yang aplikasi JavaScript anda boleh mengambil, menghuraikan, dan menggunakan logik yang lebih kompleks. Walau bagaimanapun, untuk membetulkan cepat, kod berikut akan memuatkan coretan HTML dari URL dan masukkannya terus ke halaman:
function loadFragmentInToElement(fragment_url, element_id) { var element = document.getElementById(element_id); element.innerHTML = '<p><em>Loading ...</em></p>'; xmlhttp.open("GET", fragment_url); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { element.innerHTML = xmlhttp.responseText; } } xmlhttp.send(null); }mengira fungsi di atas menggunakan URL serpihan HTML untuk dimasukkan dan ID elemen yang harus memaparkan serpihan. Ia bergantung pada kod Jibbering.com untuk menetapkan pembolehubah XMLHTTP.
Ia benar -benar cepat dan rendah hati, tetapi ia juga merupakan demo cepat yang hebat dari lanjutan XMLHTTPREQUEST.
xmlhttprequest dan faq innerhtml (FAQ)
Apakah perbezaan antara innerHTML dan oUterhtml?
Adakah selamat menggunakan innerHTML?
Bagaimana untuk menambah pelbagai elemen menggunakan innerHTML?
element.innerHtml = '<p> perenggan pertama. <code>element.innerHTML = '<p>第一段。</p>' '<p>第二段。</p>';
'' perenggan kedua. Bolehkah saya memasukkan elemen SVG menggunakan innerHTML?
Ya, anda boleh memasukkan elemen SVG menggunakan innerHTML. Walau bagaimanapun, terdapat beberapa perkara yang perlu diperhatikan. Ruang nama SVG tidak dipelihara apabila menggunakan innerHTML, yang boleh menyebabkan masalah di beberapa pelayar. Sekiranya anda mempunyai masalah, pertimbangkan untuk menggunakan kaedah CreateElementns dan Appendchild.InnerHTML anda mungkin tidak berfungsi untuk beberapa sebab. Sebab yang sama adalah bahawa elemen yang anda cuba mengubah suai tidak wujud apabila skrip berjalan. Ini boleh berlaku jika skrip anda dimuatkan sebelum badan halaman. Untuk menyelesaikan masalah ini, anda boleh memindahkan skrip ke bahagian bawah label badan, atau bungkus kod dalam fungsi Window.onload.
Tidak, InnerHTML tidak menyokong dokumen XML. Ia adalah harta antara muka HTMLElement dalam HTML DOM dan tidak terdapat dalam XML DOM. Jika anda menggunakan XML, anda perlu menggunakan kaedah seperti Createelement dan Appendchild sebaliknya.
anda boleh memadam semua elemen kanak -kanak nod dengan menetapkan harta innerHTML ke rentetan kosong. Contohnya:
element.innerHTML = '';
Ini akan memadam semua elemen kanak -kanak elemen.
tidak, innerHTML hanya boleh digunakan dengan nod elemen. Jika anda ingin memasukkan teks ke dalam nod teks, anda harus menggunakan harta Nodevalue atau TextContent.
Anda boleh menggantikan elemen dengan innerHTML dengan menetapkan harta innerhtml elemen induk. Ini akan menggantikan semua elemen kanak -kanak elemen induk, termasuk yang anda ingin cari. Contohnya:
parentelement.innerHtml = '<code>parentElement.innerHTML = '<p>新段落。</p>';
perenggan baru.
Ya, InnerHTML disokong dalam semua pelayar utama, termasuk Internet Explorer. Walau bagaimanapun, penyemak imbas mengendalikan aspek tertentu innerHTML secara berbeza, jadi lebih baik untuk menguji kod anda dalam pelbagai pelayar.
Atas ialah kandungan terperinci Petua cepat: xmlhttprequest dan innerHtml. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!