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;