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

时间:2015-08-27 11:56:14

标签: 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 ());

该脚本写在一个名为footer.js的文档中,并添加在文档的头部,如下所示:

<script src="footer.js" type="text/javascript"></script>

由于div id 3是页脚,因此它具有以下样式:

#div3{position: relative; 
clear: both;}

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>

再次感谢!

3 个答案:

答案 0 :(得分:2)

  

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

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

但如果绝对必须在head,因为你已经标记了你的问题jQuery,你可以使用jQuery的ready回调来让代码等到该文件已经过全面解析:

jQuery(function($) {
    $("<div id='div3'><div class='down'>This is my footer</div></div>").insertAfter("#div2");
});

答案 1 :(得分:2)

document.writeln在调用时“就地”输出到文档中。因此,如果您的脚本标记在头部,或者在主体开始标记之后,那么文本将被插入到文档中。移动脚本部分,或使用DOM函数将元素准确插入到您想要的位置。

答案 2 :(得分:0)

尝试以下事项:

1)将您的class MyBridge : IMyInterface { private readonly MyImplementation impl; public MyBridge(MyImplementation impl) { this.impl = impl; } public void Register(string name) { impl.RegisterName(); } } 修改为:

footer.js

2)将您的HTML修改为:

   function writeFooter()
   {
      return "<div id='3'><div class='down'>This is my footer</div></div>";
   }
   $(document).ready(function(){
       $("body").append(writeFooter());
   });