0

当谈到 javascript 时,我是一个完整的初学者,我正在尝试创建一个简单的 if/else 语句来显示不同的 div。

<script>
   if (window.FileReader && Modernizr.draganddrop){
      alert("Your browser supports drag and drop!!");
      document.getElementById(no).style.display = 'none';
   }else{
      alert("Sorry, browser does not support drag and drop!");
      document.getElementById(yes).style.display = 'none';
   }
</script>

然后,在体内

<div id="yes">Drag and drop yes</div>

<div id="no">Drag and drop no</div>

虽然 modernizr 工作得很好,但脚本显示两个 div

任何帮助都将受到极大的欢迎

4

2 回答 2

4

问题是 getElementById 需要一个字符串,据我所知,您没有声明是/否。

if (window.FileReader && Modernizr.draganddrop) {
    alert("Your browser supports drag and drop!!");
    document.getElementById('no').style.display = 'none';
} else {
    alert("Sorry, browser does not support drag and drop!");
    document.getElementById('yes').style.display = 'none';
}
于 2012-11-05T00:58:47.747 回答
0

该脚本在元素存在之前运行。使用该load事件使代码在页面完全加载后运行:

<script>
window.onload = function() {
   if (window.FileReader && Modernizr.draganddrop){
      alert("Your browser supports drag and drop!!");
      document.getElementById('no').style.display = 'none';
   }else{
      alert("Sorry, browser does not support drag and drop!");
      document.getElementById('yes').style.display = 'none';
   }
};
</script>

此外,正如 Evan 所发现的,您使用的是noandyes而不是字符串'no'and 'yes'

于 2012-11-05T00:59:15.263 回答