我有一个函数在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>
再次感谢!
答案 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());
});