在使用getElementsById获取html,出现获取到时空,很大的可能是页面还没有渲染完毕. 如下几种情况会发生这种获取不到的情况:
直接写在<head>标签中,因为这是最开始执行,html还没有渲染 所以如果尝试 var e = getElementsById("p");
那么返回的e是空.
一个重点就是要在你要获取的那个html元素渲染完毕后才能去使用 getElementsById; 2种方法:
方法1:
如下例子:(要获取p元素,那么代码写在<p>后面就可以
<p>你好,测试一下啊</p>
<script> var e = getElementsById("p");//在这里可以成功获取</script>
方法2:
<head>
function test(){
var e = getElementById("p");
console.log(e);//可以成功打印出来
}</head>
<body οnlοad="test()">
<p>测试测试</p>
</body>
同理getElementsByTagName和getElementsClassName和getElementsByName几个的用法也遵循以上的规则.