如何使用javascript在文档中指定函数的位置?
我有一个在html文档中编写元素的函数,如下所示:如何使用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
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不再需要
代码。