document.write(); 可用于重写给某个元素追加内容;
当document.write(); 用于JS文件中,会重写整个页面,解决这个问题有多种方法。
重写原因:当onload的时候执行 ,文档流已经关闭 ,write会重新打开文档流,所以覆盖了。
1.jquery追加。这是最简单的一种方法,直接用jquery的append等方法给元素追加内容。
一、在元素内部/外部追加元素
append,prepend:添加到子元素
before,after:作为兄弟元素添加
html: <div id="content"> <p>在我的后面追加一条新闻</p> </div> Javascript: <script type="text/javascript"> jQuery(function(){ //在元素内部追加内容 $("#content").append("<p>姚明退役了...</p>"); }) </script>
在#content里面添加元素,这是把<p>姚明退役了...</p>作为子元素添加到#content,如果想在元素外部追加元素,需要用到after,这样的话就可以把<p>姚明退役了...</p>作为兄弟元素追加到#content后面
复制代码 代码如下:
<script type="text/javascript"> jQuery(function(){ //将span添加到追加到content1的后面 $("#content").after("<p>姚明退役了...</p>"); }) </script>
二、在元素的不同位置追加内容
html <div id="content1" style="border:1px solid red"> <p>窗前明月光</p> </div> <span>疑是地上霜</span> javascript <script type="text/javascript"> jQuery(function(){ //将span添加到追加到content1的后面 $("span").appendTo("#content1"); }) </script>
三、在元素的开始位置追加内容
html <div> <div id="content"> <p>在我的后面追加一条新闻</p> </div> javascript <script type="text/javascript"> jQuery(function(){ //在元素的开始位置追加内容 $("#content").prepend("<p>头部</p>"); }) </script>
四、在不同元素的开始位置追加内容
html <div id="content"> <p>在我的后面追加一条新闻</p> </div> <span>疑是地上霜</span> javascript <script type="text/javascript"> jQuery(function(){ //在不同元素的开始位置追加内容 $("span").prependTo("#content"); }) </script>
在#content里面添加元素,这是把<span>疑是地上霜</span>作为子元素添加到#content开始地方,如果想在元素外部添加开始元素,需要用到before,这样的话就可以把<span>疑是地上霜</span>作为兄弟元素追加到#content开始了
复制代码 代码如下:
<script type="text/javascript"> jQuery(function(){ //在不同元素的开始位置追加内容 $("span").before("#content"); }) </script>
五、用指定结构的元素包含元素
Warp(html)
在指定的html中指定html元素,但指定的元素中不可含有兄弟元素,否则不能正常的运行,并且不含有一般文本字符串,下面的代码用div标签包含p标签
html <form id="form1" runat="server"> <span>将我包含在div中</span> </form> javascript <script type="text/javascript"> jQuery(function(){ $("span").wrap("<b></b>"); }) </script>
六、用指定的元素包含多个html元素
warpAll(html)
html <form id="form1" runat="server"> <p>p内容</p> <p>p内容</p> <p>p内容</p> <p>p内容</p> <p>p内容</p> </form> javascript <script type="text/javascript"> jQuery(function(){ $("p").wrapAll("<div style='border:1px solid red'><p></p></div>"); }) </script>
七、用指定的标签包含子元素
wrapInner(html)
与warp方法一样,在html中指定html元素,例如:
用b标签包含p标签中文字的代码如下:
html代码 <p>将p标签的文字用b标签包含起来</p> <p>也将p标签的文字用b标签包含起来</p> javascript <script type="text/javascript"> jQuery(function(){ $("p").wrapInner("<b></b>"); }) </script>
2.在jquery中使用:document.getElementById("emb").innerHTML=a;