2017-10-06 81 views
0

Afternoon StackOverflow!JQuery .Load HTML格式不正確

我似乎有一個問題。當我使用時:

$("#specificDIV").load("new.html") 

HTML內容被放入div中,但CSS和JS不起作用並且格式錯誤。我有像滑塊和單詞的項目,但它們似乎溢出了divs,不像原始字體那樣保存,滑塊甚至不起作用。

我試圖複製在標題爲原來一樣的HTML new.html的內部,看看CSS和JS都必須被引用,仍然一無所獲。我也看到了.load也已過時,使用:

$("#specificDIV").on("load","new.html") 

,仍然打破了酷似之前的第一次嘗試,但現在當我把它我得到一個錯誤:

load Uncaught TypeError: Cannot create property 'guid' on string "new.html"

這導致我回到棄用的加載函數,這顯然不是很酷。

如何解決非格式化.load()問題和。對()GUID錯誤? 無論如何感謝您閱讀到這一點,並在先進的。

編輯:這裏是什麼正在發生一些截圖。

What's happening right now

eWhat should be happening...

回答

0

請試試這個

$.ajax({ 
     url: 'ajax/new.html', 
     success: function(data) { 
     $('#specificDIV').html(data); 
     } 
    }); 
+0

嗨!感謝您的迴應,但我仍然得到相同的結果...:/我將添加一些圖片到原始帖子,看看是否有助於發生的事情。 – rezey

+0

任何plunker或jsfiddel代碼,請 –

+0

我試圖用他們兩個,但我不能讓他們的工作...:/ – rezey

1

兩個項目:

$("#specificDIV").on("load", "new.html") doesn't work.

也不應該。這真的是說「當$(」#specificDIV「)收到一個'load'事件時,執行字符串」new.html「,這是因爲jQuery有兩個​​方法,上面的.on()樣式取代了舊的​​樣式。 。

你想要使用其它​​方法,這是很好的。然而,jQuery的文件說:

jQuery uses the browser's .innerHTML property to parse the retrieved document and insert it into the current document. During this process, browsers often filter elements from the document such as <html> , <title> , or <head> elements. As a result, the elements retrieved by .load() may not be exactly the same as if the document were retrieved directly by the browser.

在您檢索文件head元素中的CSS和JS如果是這樣,移動?他們出<head>

+0

啊我看是有道理的第一個點。 – rezey

+0

但在另一方面,第二修復,我試圖把腳本SRC的進入new.html本身(擺脫了頭,HTML和主體標記的),也試過把腳本src和鏈接的開始和結束原始HTML頁面的主體具有相同的結果。我開始認爲div控制檯類存在問題。 – rezey

+0

第二次修復,你能觀察到JS和CSS確實加載到了DOM中嗎? (他們應該是)。如果是這樣,那麼它取決於你的特定的JS和CSS。 JS寫的是立即執行,還是等待一個永遠不會發生的事情(如'load')。 – pbuck