[英]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.