我有这个:
<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
答案 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');
}