【问题标题】:get scripts by tag name under IE 8IE 8下通过标签名获取脚本
【发布时间】:2013-06-11 15:03:09
【问题描述】:

当我尝试使用

获取所有图像时
getElementsByTagName('img');

没有问题,但是当我尝试获取所有脚本时

getElementsByTagName('script'); 

函数返回空值。这个问题只存在于IE8下。

有什么建议吗?

【问题讨论】:

  • 这只是一个疯狂的猜测,但是 标签或 标签中的脚本标签是什么?我不知道这是否与问题有关,但有可能吗??

标签: javascript getelementsbytagname


【解决方案1】:

我检查了它,这在所有浏览器中都可以正常工作。

getElementsByTagName('script') 返回一个对象。对于 chrome,它返回为 NodeList[],而在 IE8 中它返回为 [object HTMLCollection]

我不确定您是否尝试访问项目中使用的script 中的src。如果是这样,请尝试以下代码

window.onload=function() {
  var scripts = document.getElementsByTagName("script");
  for (var i=0;i<scripts.length;i++) {
     if (scripts[i].src) console.log(i,scripts[i].src)
     else console.log(i,scripts[i].innerHTML)
  }
}

Reference.

【讨论】:

  • 是的,它应该这样工作;但是在 IE8 中,我遇到 document.getElementsByTagName('script') 导致内联 scripts 的集合的情况,但它无法返回 scripts 和外部 src
猜你喜欢
  • 2012-11-11
  • 2021-08-30
  • 2021-08-19
  • 1970-01-01
  • 2013-12-01
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多