Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:为什么document.write与';没有特权;? #领航员a{ 显示:无; } 函数视图(){ var a=document.getElementsByTagName(“a”); 对于(变量i=0;i_Javascript - Fatal编程技术网

JavaScript:为什么document.write与';没有特权;? #领航员a{ 显示:无; } 函数视图(){ var a=document.getElementsByTagName(“a”); 对于(变量i=0;i

JavaScript:为什么document.write与';没有特权;? #领航员a{ 显示:无; } 函数视图(){ var a=document.getElementsByTagName(“a”); 对于(变量i=0;i,javascript,Javascript,警报工作正常文档。写入第一个元素“C”成功,但下两个元素失败 为什么document.write在没有权限的情况下失败 谢谢。当您调用document.write时。页面完全加载后,您将用您编写的内容替换当前页面 当您编写第一个元素的HTML代码时,该元素仍然存在,但当您尝试编写第二个元素的HTML代码时,该元素不再存在 如果您真的想用几个元素的html代码替换当前页面(因为它不是一个完整的html文档,所以没有什么意义),那么您必须将所有元素的html代码收集到一个字符串中,以便一次编写所有元

警报
工作正常<代码>文档。写入第一个元素“C”成功,但下两个元素失败

为什么document.write在没有权限的情况下失败


谢谢。

当您调用
document.write时。
页面完全加载后,您将用您编写的内容替换当前页面

当您编写第一个元素的HTML代码时,该元素仍然存在,但当您尝试编写第二个元素的HTML代码时,该元素不再存在

如果您真的想用几个元素的html代码替换当前页面(因为它不是一个完整的html文档,所以没有什么意义),那么您必须将所有元素的html代码收集到一个字符串中,以便一次编写所有元素:

<html>
 <head>
  <style type="text/css">
   #navigator a {
    display: none;
   }
  </style>

  <script type="text/javascript">
   function view() {
    var a = document.getElementsByTagName("a");
    for (var i = 0; i < a.length; i++)
     alert(a[i].innerHTML);
    for (var i = 0; i < a.length; i++) 
     document.write(a[i].innerHTML);
   }
  </script>
 </head>
 <body>
  <div id="navigator" class="navigator">
   <div class="menu">
    Programming Language
    <a href="">C</a>
    <a href="">C++</a>
    <a href="">Java</a>
    <button type="button" onclick="view()">View</button>
   </div>
  </div>
 </body>
</html>
var代码=[];
对于(变量i=0;i
因为您使用的是邪恶的浏览器。@sje397:我使用的是Firefox3.6.10和IE8.0
var code = [];
for (var i = 0; i < a.length; i++) {
  code.push(a[i].innerHTML);
}
document.write(code.join(''));