2012-02-16 67 views
0

我剛開始使用jquery,所以我需要確保我做的沒問題。我會解釋我現在相信的,請給我你的想法。尋找一種很好的方法來分開Javascript和HTML

首先,我認爲,從服務器輸出的HTML應該是主要針對那些沒有JS或者,如果有一個瀏覽器的bug。這樣頁面就可以爲我希望的每個人工作。

那麼我認爲jQuery的應該有隱藏的數據和模板,使用它來修改頁面。

我不知道模板應該是什麼格式,一種想法是隻讓這樣

<div id="checkbox-template" class="templatedefinition" style="visibility:hidden"> 
<input type="checkbox"><label></label> 
</div> 

這將是完美的,我認爲,但我有我的懷疑。另一個想法是使用

$(document.createElement()) 

然後有幾個選項來處理數據。我試着簡單的東西是這樣的:

var fruits= new Array(
    // id - Label - info 
    new Array("orange","Orange","some info"), 
    new Array("apple","Apple","some info"), 
    new Array("banana","Banana","some info") 
    ); 

而現在我已經準備好構建水果複選框,並修改原來的頁面。但在我開始在我的所有解決方案中做這樣的事情之前,知道這樣的事情是否可以。

+0

您的問題標題是非常具有誤導性。 – 2012-02-16 10:22:06

+0

是的,我想你是對的,你會怎樣制定這個問題? – offroff 2012-02-16 10:30:44

+0

我的英語真的很虛弱,現在我改變了標題 – offroff 2012-02-16 10:33:25

回答

1

首先我要說,有沒有硬性規定你的問題和國際海事組織呼聲個人喜好的具體情況。這裏有一些注意事項,以幫助你前進:

首先,我認爲,從服務器輸出的HTML應主要 對於那些沒有JS或者,如果有一個瀏覽器的bug。這樣 頁面將適用於我希望的每個人。

你在說「Progressive enhancement」這是一個策略,以增加「可訪問性」到您的網站。爲此,您需要計劃和開發一種用戶體驗,以便在添加Javascript之前爲尚未啓用Javascript的人員工作,以便爲那些已啓用Javascript的用戶增強體驗。你應該在你的設計中規劃什麼樣的功能在Javascript不可用時「丟失」 - 簡單地說 - 良好的「可訪問性」是當像「提交表單」這樣的主要任務在沒有Javascript的情況下仍能正常工作時。

你還問,如果你要的是僅僅意味着在HTML中的「enchanced的Javascript體驗」還是應該輸出隱藏的HTML元素「生成」它使用JavaScript的飛行。這給我們帶來了另一個術語 - 「Unobtrusive JavaScript」。

一派思想是永遠不要在html頁面中放置任何僅用於javascript的體驗,並使用Javascript本身將這些內容添加到DOM。這樣做的好處是你將擁有一個更清潔,更輕量級和可移植的html頁面。

另一派是不那麼「純粹」,更「實用」 - 意思是做什麼是最有效的。如果您只需將額外的代碼直接添加到HTML頁面並用css隱藏,就不要額外寫100行Javascript代碼,並花費額外的2小時。

我個人認爲,作爲程序員做這些決定時,我們應該考慮的商業價值。問自己諸如「我應該花多少時間來做這件事?」,「我爲500或500萬用戶創建一個網站?」。基本上,不要使用手榴彈殺死老鼠;)

相關問題