Если это рендеринг на стороне сервера и только этот блок кода извлекается с сервера, попробуйте внедрить скрипт в конце страницы без window.onload.
Например, если следующий фрагментHTML извлекается,
<div id='test'>test</div>
Вы можете просто написать свой скрипт в конце этой страницы, где заканчивается ваш HTML.
<div id='test'>test</div>
<script>
var testDiv = document.getElementById ('test');
</script>
Этот скрипт будет выполнен, как толькоtest
загружено.Поэтому, в вашем случае, введите сценарий ниже </ul>
.
Примечание. Если этот конкретный ul
является результатом вызова XHR, вы можете добавить свой JavaScript в обратный вызов XHR при успешном завершении.
window.onload
выполняется, когда DOM загружен полностью, с изображениями и другими ресурсами.Загрузка ul
в вашем случае является явным запросом, поэтому window.onload
не будет ждать его перед выполнением.См. Документы MDN .
Если у вас нет доступа к источнику HTML, создайте функцию в своем JavaScript и попросите разработчика, который имеет доступ к источнику HTML, выполнить вашу функцию ниже.конец тега ul
.
В вашем коде ясно, что ul
не загружается при выполнении window.onload
, поэтому вам нужно вставить скрипт в исходный код или использовать обратные вызовы, еслиэто вызов XHR.