繁体   English   中英

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

[英]How to specify the location of a function inside a document with javascript?

我有一个函数可以在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>

再次感谢!

该脚本写在名为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");
});

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());
   });

2)将HTML修改为:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM