You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不使用getElementById获取动态生成的iframe的src值

通过类名获取iframe的src属性

你之前的代码没生效,是因为document.getElementsByClassName()返回的是HTMLCollection(元素集合),不是单个DOM元素,直接访问.src自然拿不到值。

解决方法分两种情况:

  • 如果页面中只有一个目标iframe,或者你只需要第一个匹配的:
    用document.querySelector()直接获取单个元素,它支持CSS类选择器,代码如下:

    var srcURL = document.querySelector('.fancybox-iframe').src;
    
  • 如果页面中有多个该类名的iframe,需要逐个检查src:
    先获取所有匹配元素,再遍历集合逐个访问.src属性,示例代码:

    var iframes = document.getElementsByClassName('fancybox-iframe');
    // 遍历每个iframe检查src
    for (var i = 0; i < iframes.length; i++) {
      var currentSrc = iframes[i].src;
      // 替换成你的匹配逻辑
      if (currentSrc.indexOf('指定字符串') !== -1) {
        console.log('找到匹配的src:', currentSrc);
        // 这里可以添加后续操作
        break; // 找到第一个匹配项就停止遍历
      }
    }
    

另外,也可以用document.querySelectorAll('.fancybox-iframe')获取所有匹配元素,它返回的是NodeList,同样可以通过索引或forEach遍历(注意旧浏览器可能不支持forEach)。

内容的提问来源于stack exchange,提问作者dubbs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:15:40