[英]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.