-2

可能重复:
JavaScript - 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 秒后页面将变为空白并仅显示我从循环中获取的数字。

任何建议如何完成这项任务。

4

3 回答 3

3

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

HTML

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

javascript

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

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

$("#container").append("<div>content</div>");
于 2012-10-01T07:58:29.833 回答
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")...在 document.ready中指定

于 2012-10-01T07:57:25.980 回答
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>";
}
于 2012-10-01T08:07:42.447 回答