2014-09-10 57 views
0

的index.html:爲什麼「加載」不起作用?

<div id="divTestArea2"></div> 
<script type="text/javascript"> 

$("#divTestArea2").load("index-2.html #test"); 

</script> 

指數2.HTML:

<div id="test"><b>Hello World!</b></div> 

爲什麼 「負載」 不工作?

+4

是否在控制檯中收到了js錯誤。這將有所幫助。 – idrumgood 2014-09-10 21:49:41

+1

你在本地測試它嗎? – undefined 2014-09-10 21:52:33

+0

ReferenceError:$未定義index.html:61 未聲明HTML文檔的字符編碼。如果文檔包含US-ASCII範圍之外的字符,則該文檔將在某些瀏覽器配置中呈現亂碼文本。頁面的字符編碼必須在文檔或傳輸協議中聲明。 – user3552862 2014-09-10 21:54:44

回答

2

假說:

  1. $尚未定義;您的腳本可能需要在您的頁面中包含jQuery之後運行。如果出現這種情況,您應該會看到控制檯錯誤。
  2. index-2.html不是基於當前頁面的URL的有效相對URL。查看您的開發人員工具的網絡選項卡,查看是否正在執行對index-2.html的請求。如果您收到404錯誤,那麼網址可能不正確。

編輯

現在你已經張貼的錯誤,我們知道原因是#1; $只會在您的頁面中包含jQuery時纔會定義。如果您已經有了該腳本標記,請將代碼移到其後。如果你不這樣做,請嘗試添加如下內容:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
+2

jQuery可能已經包含在內,但正在使用'noConflict'也經常出現在wordpress網站上 – charlietfl 2014-09-10 21:57:53

+0

而OP可能需要將腳本放在文檔就緒處理程序中。 – 2014-09-10 21:58:11

+1

@JayBlanchard如果腳本元素出現在引用的'div'之後,那麼它將工作。 – 2014-09-10 21:59:27

-1

嘗試添加#字符以選擇id的元素,並將您的代碼放入ready事件中。

$(document).ready(function() { 

    $("#divTestArea2").load("index-2.html"); 

}); 

你可以在div分離到另一個文件中只得到必要的一部分,而不是試圖讀取該文件內一個div。