首页 > 解决方案 > 如何不断检查 iframe 是否包含指定的类或 id

问题描述

因此,假设我有一个网站显示另一个带有 iframe 的网站,然后我想从该 iframe 内的输入中获取值,但问题是当 iframe 首次加载时此输入不存在,有什么办法可以制作一个 javascript 代码,不断检查具有指定 id/class 的输入是否每次都存在(iframe 刷新)?

标签: javascriptjqueryiframe

解决方案


您可以使用setTimeout()jQuery 方法来延迟函数的执行或/和使用 setInterval()jQuery 方法每隔一定时间执行一个函数。

setTimeout() 示例

窗口完全加载后 2 秒将显示文本。

$(window).on('load', function(){

   let msg = 'This appears after 2 seconds the window is completely loaded.'

 setTimeout(function(){
      $('#element-id').text(msg);
  }, 2000); 

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<body style="text-align:center">
  <div id="element-id" style="font-size:30px;color:black;width:300px">
  </div>
</body>

setInterval() 示例

它将每 2 秒附加一次 HTML 代码

$(window).on('load', function(){

     setInterval(function(){
          $('#element-id').append("<p>Do something every 2 seconds</p>");
      }, 2000); 

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<body style="text-align:center">
  <div id="element-id" style="font-size:15px;color:black;width:300px">
  </div>
</body>


推荐阅读