如何使用javascript在文档中指定函数的位置?

如何使用javascript在文档中指定函数的位置?,javascript,jquery,css,position,document.write,Javascript,Jquery,Css,Position,Document.write,我有一个在html文档中编写元素的函数,如下所示: function writeFooter(){ return "<div id='div3'><div class='down'>This is my footer</div></div>";} self.document.writeln (writeFooter ()); <script src="footer.js" type="text/javascript"></scr

我有一个在html文档中编写元素的函数,如下所示:

function writeFooter(){
return "<div id='div3'><div class='down'>This is my footer</div></div>";}
self.document.writeln (writeFooter ());
<script src="footer.js" type="text/javascript"></script>
javascript函数工作正常,但元素写在文档顶部(正文之后),如下所示:

<body>
<div id="div3"></div>
<div id="div1"></div>
<div id="div2"></div>
</body>

然而,div3是为了清除div1和div2。是否有一种方法可以指定此函数将在文档中写入的位置,以便得到以下结果

<body>
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
</body>

再次感谢

脚本编写在一个名为footer.js的文档中,并添加在文档的开头

这就是问题所在,因为
document.writeln
在该点输出到解析流。而是将其包含在文档中希望页脚显示的位置。将
脚本
元素放入
头部
的用例非常少;页脚脚本可能不在其中。:-)

但是,如果它必须在
标题中
,当您将问题标记为jQuery时,您可以使用jQuery的
ready
回调使代码等待,直到文档被完全解析:

jQuery(function($) {
    $("<div id='div3'><div class='down'>This is my footer</div></div>").insertAfter("#div2");
});
jQuery(函数($){
$(“这是我的页脚”).insertAfter(#div2”);
});
脚本编写在一个名为footer.js的文档中,并添加在文档的开头

这就是问题所在,因为
document.writeln
在该点输出到解析流。而是将其包含在文档中希望页脚显示的位置。将
脚本
元素放入
头部
的用例非常少;页脚脚本可能不在其中。:-)

但是,如果它必须在
标题中
,当您将问题标记为jQuery时,您可以使用jQuery的
ready
回调使代码等待,直到文档被完全解析:

jQuery(function($) {
    $("<div id='div3'><div class='down'>This is my footer</div></div>").insertAfter("#div2");
});
jQuery(函数($){
$(“这是我的页脚”).insertAfter(#div2”);
});

document.writeln调用文档时,将其输出到“就地”文档中。因此,如果脚本标记位于头部,或紧跟在正文开头标记之后,则文本将插入到文档中。移动脚本节,或使用DOM函数将元素插入到所需的位置。

document.writeln调用该元素时,输出到文档的“就地”中。因此,如果脚本标记位于头部,或紧跟在正文开头标记之后,则文本将插入到文档中。可以移动脚本部分,也可以使用DOM函数将元素插入到所需的位置。

尝试以下操作:

1) 将您的
footer.js
修改为:

   function writeFooter()
   {
      return "<div id='3'><div class='down'>This is my footer</div></div>";
   }
   $(document).ready(function(){
       $("body").append(writeFooter());
   });
函数writeFooter()
{
返回“这是我的页脚”;
}
$(文档).ready(函数(){
$(“body”).append(writeFooter());
});
2) 将您的HTML修改为:

    <body>
      <div id="1">one</div>
      <div id="2">two</div>
   </body>

一
二
尝试以下方法:

1) 将您的
footer.js
修改为:

   function writeFooter()
   {
      return "<div id='3'><div class='down'>This is my footer</div></div>";
   }
   $(document).ready(function(){
       $("body").append(writeFooter());
   });
函数writeFooter()
{
返回“这是我的页脚”;
}
$(文档).ready(函数(){
$(“body”).append(writeFooter());
});
2) 将您的HTML修改为:

    <body>
      <div id="1">one</div>
      <div id="2">two</div>
   </body>

一
二

不要使用
document.write()
。使用DOM函数,如
document.getElementById(“1”).innerHTML=无论什么
。不要使用
document.write()
。使用DOM函数,如
document.getElementById(“1”).innerHTML=随便什么。您好!div3是一个新的div,必须添加到50多个文件中。我不想手动编辑每个文件,所以我在主javascript文件(在所有50个文件的头部调用)中编写了该函数。还有其他建议吗?更新了答案。您必须使用
$(document).ready()
处理程序来实现这一点。现在,您的HTML不再需要
代码。您好!div3是一个新的div,必须添加到50多个文件中。我不想手动编辑每个文件,所以我在主javascript文件(在所有50个文件的头部调用)中编写了该函数。还有其他建议吗?更新了答案。您必须使用
$(document).ready()
处理程序来实现这一点。现在您的HTML不再需要
代码。