javascript document.write()从页面中删除html并在空白页面中显示结果

时间:2012-10-01 07:50:56

标签: javascript document.write

  

可能重复:
  JavaScript - what are alternatives to document.write?

我正在创建一个javascript函数,我希望在几秒钟后执行它但是当它执行时它会删除所有页面内容并仅显示我使用document.write()显示的结果这里是我的javascript代码。

<script language="javascript">
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
 xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

setTimeout(function(){
xmlhttp.open("GET","some.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName("offer");
var page = parseInt(x.length) / 10;
document.write("<div class='pagination_btn_cont'>");
for (i=1;i<=page;i++)
{ 
 document.write("<div class='pagination_btn'>"+i+"</div>");
}
document.write("</div>");
},10000);

</script>

当我打开网页时,它显示页面的所有内容,但在10秒后,页面将变为空白,并仅显示我从循环中获得的数字。

任何建议如何执行此任务。

3 个答案:

答案 0 :(得分:3)

使用innerHtml更改特定元素的文本。

HTML

<div id="container"></div>

的javascript

document.getElementById('container').innerHTML += '<div>content</div>';

或者你可以使用jQuery库,生活会更容易:

$("#container").append("<div>content</div>");

答案 1 :(得分:2)

您可以在javascript中使用innerHTML。 它用于在不影响页面内容的情况下将数据插入特定div。

示例:

var results = "";
for(var i=1;i<=10;i++)
{
     results += "<div class='pagination_btn'>"+i+"</div>";
}
document.getElementById("your result show div id").innerHTML = results;

您可以在文档中指定$('.pagination_btn').bind("click")...。已经

答案 2 :(得分:0)

试试这个

document.getElementsByTagName('body').innerHTML += '<div id="parent" class="pagination_btn_cont">';

for (i=1;i<=page;i++)
{ 
 document.getElementById('parent').innerHTML = "<div class='pagination_btn'>"+i+"</div>";
}