我想用Jquery调用函数javascript。但是在页面加载后,所有其他元素都消失了。你可以在这里看到我的代码。我需要你的修复。
<script src='http://code.jquery.com/jquery-1.10.1.min.js'></script>
<script type="text/javascript">
$(document).ready(function() {
$("#recentpost").each(function(){
mytext = "Food";
sticky();
});
});
</script>
<script type="text/javascript">
function sticky(){
document.write("<div class='sample'>"+mytext+"</div>");
}
</script>
<div id="recentpost"></div>
<div>something here disappear after loaded page</div>
感谢您的帮助
答案 0 :(得分:7)
这是因为您在加载页面后使用document.write
,这会将新内容写入文档,从而有效地破坏页面。
您应该使用DOM来操作内容,因为所有HTML都已编写并解析为对象树。
例如,
function sticky(){
document.getElementById("recentpost").textContent = mytext;
}
此外,您在ID上使用.each()
很奇怪。页面上只能有一个。
所以不要这样:
$("#recentpost").each(function(){
mytext = "Food";
sticky();
});
你这样做:
$("#recentpost").text("Food");
或者,如果您想使用sticky()
函数,则应将值传递给函数,而不是使用全局变量。
sticky("Food");
function sticky(mytext) {
$("#recentpost").text(mytext);
}