繁体   English   中英

在加载了 Javascript 的 Div 后执行 Javascript

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM