JavaScript" Undefined",为什么?我刚刚定义了它

时间:2014-12-13 17:29:49

标签: javascript undefined

我有这个:

<script id="wpcp_css_disable_selection" type="text/javascript">
    var e = document.getElementsByTagName('body')[0];
    e.setAttribute('unselectable','on');
</script>

为什么控制台会抛出这个:

Uncaught TypeError: Cannot read property 'setAttribute' of undefined

2 个答案:

答案 0 :(得分:0)

怎么样

<body onload="myFunction()">

<script id="wpcp_css_disable_selection" type="text/javascript">
  function myFunction(){
    var e = document.getElementsByTagName('body')[0];
    e.setAttribute('unselectable','on');
  };      
</script>

确保设置DOM,然后调用函数。我怀疑在调用函数时DOM还没有准备好。只是一个猜测。也可能是错的

答案 1 :(得分:-1)

我认为body元素应该在HTML页面中。您可以这样检查:

var e = document.getElementsByTagName('body');
if(typeof e != 'undefined'){
    e[0].setAttribute('unselectable','on');
}