当前位置: 代码迷 >> ASP >> innerHTML 到指定Id的首先行
  详细解决方案

innerHTML 到指定Id的首先行

热度:862   发布时间:2012-12-15 15:16:03.0
innerHTML 到指定Id的第一行
如题,将内容innerHTML到指定Id的第一行,同时还不能删除该Id下的已有内容。

<div id="contents">
插入到这里
这里是原有内容
这里是原有内容
这里是原有内容
这里是原有内容
这里是原有内容
这里是原有内容
</div>

1. 如果使用先获取contents中的内容,然后再将新插入的内容合并的方法,会不会随着contents中内容越来越多(比如数千条/上万条),而影响效率?

2. 有没有方法直接插入?
------最佳解决方案--------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>会话中...</title>
<body>
<div id="chat">
<div id="after"></div>
<div name="box">1</div>
<div name="box">2</div>
<div name="box">3</div>
<div name="box">4</div>
<div name="box">5</div>
</div>

<input type="button" onclick="doremove()" value="removebox4"/>

<input type="button" onclick="doadd()" value="addbox6"/>
<script type="text/javascript">
var i = 0;
function doadd()
{
var chat = document.getElementById("chat");
var after = document.getElementById("after");
var insert = document.createElement("div");
insert.name = "box";
insert.innerHTML = "新的" + i;
i++;
chat.insertBefore(insert,after.nextSibling);
}
</script>
</body>
</html>

------其他解决方案--------------------
var old_content = document.getElementById("contents").innerHTML;
document.getElementById("contents").innerHTML = yourcontent + '<br>' + old_content
------其他解决方案--------------------
insertBefore 只能插在某个节点之前,有没有可以插在某个节点之后的方法?
------其他解决方案--------------------
参看:jquery的appendTo(content)
  相关解决方案