var len = document.getElementsByTagName("td").length; //为啥在外部js中这样写没用?!
alert(len);代码如上,
把这段代码写入html<script></script>便签里面就可以运行,
但是如果作为外部js导入,
就只能获取到<html><body>这样的标签,
连<table>都获取不到,这是啥情况呢?

解决方案 »

  1.   

    建议发相关的完整代码。另外,考虑外部引入是否有等待文档加载完成才执行的代码,如果没有的话,肯定是获取不到的,JS一般加载在<head>,它比<body>先执行,此时是获取不到的
      

  2.   

    有这个可能,因为我没加onload事件,我试试
      

  3.   

    在全局环境下的代码是在页面加载阶段从上到下一边加载一边执行的,这时处于代码下面的页面元素还没有加载完,访问不到。
    要把script放在页面body标签的最下面,或者使用window.onload事件(页面加载完成后触发)才可以。
      

  4.   

    table 还没渲染完成 你的方法就执行了 ,window.onload 很重要