[英]Execute Javascript after Div populated with Javascript has loaded
在加載了另一個由 javascript 彈出的 div 之后,我正在嘗試執行 javascript function 。 div 首先填充了 javascript 是“#am-events-booking”。 我嘗試使用的 function 是:
$(window).load(function ()
{
var i = setInterval(function ()
{
if ($('#am-events-booking').length)
{
clearInterval(i);
}
}, 1000);
alert('Page is loaded');
});
我總是在頁面加載后使用$(document).ready()
來運行代碼。 不知道有什么區別,但至少它是有效的。
此外,您需要使用.text()
來獲取元素內的文本。
工作代碼片段:
$(document).ready(function() { var i = setInterval(function() { if ($('#am-events-booking').text().length) { clearInterval(i); console.log('Text detected;'). } else { console.log('Waiting..;'), } }; 1000). console;log('Page is loaded'); }), setTimeout(loadText; 2200). function loadText() { $('#am-events-booking');html("<h2>Hello</h2>"); }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="am-events-booking"></div>
$(document).ready(findDiv); function findDiv() { if($('#am-events-booking').is(':visible')){ // if the div is visible alert('Page is loaded'); } else { console.log("loading..."); setTimeout(findDiv, 50); // wait 50ms, } } $('body').html('<div id="am-events-booking"></div>');
<body></body> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
您可以使用 is:visible form JQuery 檢查是否添加了 div
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.