Rumah >hujung hadapan web >tutorial js >Mengapa Teg `` Disuntik Saya Tidak Melaksanakan Selepas Panggilan AJAX?

Mengapa Teg `` Disuntik Saya Tidak Melaksanakan Selepas Panggilan AJAX?

DDD
DDDasal
2024-11-23 12:14:14847semak imbas

Why Doesn't My Injected `` Tag Execute After an AJAX Call?

Melaksanakan Selepas Panggilan AJAX

Dalam aplikasi berasaskan AJAX, anda mungkin menghadapi situasi di mana anda perlu menyuntik teg ke dalam DOM halaman. Walau bagaimanapun, selepas respons AJAX memuatkan dan menyuntik tag, ia mungkin tidak dilaksanakan secara automatik.

Pernyataan Masalah

Pertimbangkan elemen div dengan ID "Kandungan" yang mengandungi tag. Selepas panggilan AJAX berjaya memuatkan data daripada fail PHP ke dalam div "Kandungan", teg di dalam kandungan yang dimuatkan kekal tidak dilaksanakan.

<div>
<div>

Penyelesaian

Untuk melaksanakan teg, anda boleh menilai innerHTML secara manual menggunakan JavaScript:

var arr = MyDiv.getElementsByTagName('script');
for (var n = 0; n < arr.length; n++)
    eval(arr[n].innerHTML); //run script inside div

Dengan mengulangi koleksi getElementsByTagName('script') dan menilai innerHTML setiap