1:利用DOM獲取該 div 的 ID,然後清空該DIV的內容(如果你需要接著裡面的內容添加可不要清空);需要註意點是清空最好用“ empty() ”; 2: 把 async設成true ,否則又一條警告的錯誤,這條錯誤導致你的內容顯示不出來;下麵就是警告的錯誤 3:就是添加HTML了。 具體代碼如 ...
1:利用DOM獲取該 div 的 ID,然後清空該DIV的內容(如果你需要接著裡面的內容添加可不要清空);需要註意點是清空最好用“ empty() ”;
2: 把 async設成true ,否則又一條警告的錯誤,這條錯誤導致你的內容顯示不出來;下麵就是警告的錯誤
3:就是添加HTML了。
具體代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>測試</title> </head> <body> <div id="tset"> <a href="http://www.baidu.com">百度</a> </div> <button id="btn">測試</button> </body> <script src="../../Js/jquery-3.4.1.js"> </script><script src="../../Js/layer-v3.1.1/layer/layer.js"></script> <script> $(function(){ $("#btn").click(function(){ $.ajax({ url:'../../Html/JQueryDome/彈框.html', dataType:'html', type:'get', async:true, success:function(data){ console.log(data); $("#tset").html(data) },error:function(){ } }) }) }) </script> </html>
最後總結一下清空DIv的內容的方法
empty() 情況選擇器裡面的內容 語法 $(“選擇器”).empty() remove() 刪除後再恢復事件不在 語法 $(“選擇器”).remove() detach() 刪除後再恢復事件在 語法 $(“選擇器”).detach()
順便把其餘的也給出來吧:
包裹
wrap() 每一個外面都添加一個新的元素 語法 $(“選擇器”).wrap(“<元素名稱>”) wrapAll() 同一包裹一個元素 語法 $(“選擇器”).wrap(“<元素名稱>”) wrapInner() 在裡面添加一個新的元素 語法 $(“選擇器”).wrap(“<元素名稱>”) unwrap() 去掉包裹 語法 $(“選擇器”).wrap(“<元素名稱>”)
外部插入 after() 在後面插 語法: $(“選擇器”).after(“<元素名稱>”) insertAfter() 在後面插 語法: $(“選擇器”).insertAfter(“<元素名稱>”) before 在後面插 語法: $(“選擇器”).before(“<元素名稱>”) insertBefore() 在後面插 語法: $(“選擇器”).insertBefore(“<元素名稱>”)
內部插入(在) append() 在後面插 語法: $(“選擇器”).append(“<元素名稱>”) appendTo() 在後面插 語法: $(“<元素名稱>”).appendTo(“選擇器”) prepend() 在前面插 語法: $(“選擇器”).prepend(“<元素名稱>”) prependTo() 在前面插 語法: $(“<元素名稱>”).prependTo(“選擇器”)
替換 replaceWith() 語法 $(“選擇器”).replaceWith($(“選擇器”)) replaceAll 語法 $(“<元素名稱>”).replaceAll (““選擇器”
克隆 clone() 語法:1、$(“選擇器”).clone().append(“元素名”) 2、$(“選擇器”).append($(“元素名”).clone())
對了,還有一點就是(當然我是MVC中遇到的,不確定都有喲),就是在獲取的網頁中有內部JS,比如<script>這裡是一個獲取本地的時間函數</script>,然後當你執行AJAX時,頁面不會添加到DIV中,整個頁面就是是當前時間(但是地址沒有變化)。解決辦法:可以把該JS刪除,或者該JS換成一個外部JS即可。