2012-05-01 53 views
1

我一直在測試jQuery .html()函數,我發現它不適用於大量文本,請參閱此example。但是,該代碼是無bug的,並且簡化的test case完美工作。jQuery .html()大負載

我知道這可能不是將大量數據包含到div中的最佳方式,但我打算最終從各種數組中加載數據,並且代碼旨在成爲某種構造函數。

所以到我的問題:我做錯了什麼? jQuery能否處理那麼多的文本?如果是的話,使用jQuery/JavaScript/JSON加載同一個html的多個實例,在某些部分使用不同的文本/ url,最好的方法是什麼?我應該填充數組中的數據嗎?

在此先感謝,任何幫助將不勝感激。

編輯基於答案

感謝大家好,我傻傻忽視的未定義的變量。這是一個新的working test case。我試圖完成的是一次將多個博客帖子按照jQuery 6加載到頁面中的相同結構公式。將數據存儲在數組中的最佳方法是什麼?然後填充數組中這些元素的內容?

+0

你爲什麼試圖建立一個像這樣的頁面內容?我認爲你的代碼問題可能是突出設計/實現問題。告訴我們你想要完成什麼,我認爲我們可以提供更多幫助。 –

+0

謝謝看到我編輯的問題 – jacktheripper

回答

3

您所提供的例子是拋出一個錯誤:

Uncaught ReferenceError: posterurl is not defined 

加入var posterurl = "";,正確和performantly執行的代碼之後。

這是a working fiddle

注意:這是一個可怕的方式來建立一個頁面。

+0

謝謝 - 我知道它很可怕,因此問題的第二部分。如果我對每個包裝都有相同的總體結構,我如何才能在同一頁面上最好地構建多個包裝? – jacktheripper

+0

如果你想看看我想要實現的目的,請訪問www.jackdent.co.uk/vintage – jacktheripper

1

看着你擴展的問題(感謝你花時間),我的直覺說你最好在服務器端執行此操作。這意味着您發送的文檔是預先構建的內容,對重要訪問者 - Google有重大影響。否則,就谷歌機器人而言,你的網頁是空的,並可能隱藏內容,他們強烈反對。服務器端構建的頁面也意味着禁用JavaScript的訪問者將獲得相同的內容。動態加載內容很好,而且可能非常有用,但是在JavaScript中從頭開始構建這麼多頁面會有點過分(在我看來)。

+0

我完全同意 - 2個問題:1.我對PHP或其他服務器端腳本沒有信心......但:) 2.我已經基本上與jQuery工作,我知道從一個數組的實現是不是太難以實現... – jacktheripper

+0

PHP是完全值得學習。另外,如果你沒有一些服務器端技術,你將把你的內容放到你的陣列中?如果您手動輸入它,與靜態構建一個使用JavaScript構建的頁面相比,將靜態HTML製作成100%更好。這是一個複雜和維護的負擔,沒有任何好處。 –

+0

我承認失敗......我只是想讓用戶能夠輕鬆地將數據輸入到頁面中,這樣如果他們沒有經驗,他們就不必通過HTML瀏覽。 wordpress整合對於這樣的事情有多簡單? – jacktheripper