我製作了一個網站主題,並且包含一個粘貼在屏幕邊上的欄,並提供各種設置。但是,它需要在頁面內部有一點點標記,我的部分主題賣點是乾淨/最小的源代碼!用jQuery在頁面中插入大量的HTML和樣式表 - 最佳實踐?
所以我想通過使用一行JavaScript來包含我的酒吧。有沒有辦法使用jQuery插入HTML代碼和樣式表?這也是違背最佳做法,我可能會因爲這樣做而受到懲罰(谷歌)?
編輯:我已編輯的問題,以清除我不要求jQuery樣式表切換器(謝謝)。
我製作了一個網站主題,並且包含一個粘貼在屏幕邊上的欄,並提供各種設置。但是,它需要在頁面內部有一點點標記,我的部分主題賣點是乾淨/最小的源代碼!用jQuery在頁面中插入大量的HTML和樣式表 - 最佳實踐?
所以我想通過使用一行JavaScript來包含我的酒吧。有沒有辦法使用jQuery插入HTML代碼和樣式表?這也是違背最佳做法,我可能會因爲這樣做而受到懲罰(谷歌)?
編輯:我已編輯的問題,以清除我不要求jQuery樣式表切換器(謝謝)。
機器人不執行JavaScript。機器人看不到由javascript生成的任何內容。
所以,如果你打算用JS生成菜單,那將會發生什麼。
並回答「有沒有一種方法可以使用jQuery插入HTML代碼和樣式表?」就在這裏。
僅用於例如plain .append()。對於樣式表$('head')。append()和其他你把它放在你喜歡的地方,也許$('body')。append()?
我不確定這是不是這種情況,但如果我沒有記錯,搜索引擎機器人不運行JavaScript,但可能已經改變。
明智的性能,包裝HTML與$(大串)比在您創建一個基本的元素更好看標記好,插入孩子,然後進行插入自己的孩子,等
至於最佳實踐,如果插入一大片HTML的話,這種方法通常不容易維護,除非您使用某種模板文件來處理HTML。如果它只是JS文件中的一個大字符串,那麼在編輯器中不會有任何語法突出顯示和正確的HTML行爲。所以如果性能不是問題(例如,如果它不是那麼多的HTML,並且它只插入一次),我會採用更加結構化的方法來實現可維護性。
這可能是一個合適的時間開始使用LESS:LESS擴展CSS的動態行爲,如變量,混入,操作和功能。 (使用這個,你可以避免製作大量的樣式表)
另外,你可以看看jQuery UI團隊如何使用@import語句輕鬆簡便地編寫它們的theme roller。
另外jQuery style switcher是一個非常小的插件,我喜歡它的實現。
如果我理解正確的話,你可以做這樣的事情例如:
http://jsfiddle.net/ajthomascouk/DbRwn/
在這個例子中,它只是改變了文本顏色。但是,您可以使用此方法更改樣式表的src(請參閱UPDATE)。
UPDATE 這樣的 - http://jsfiddle.net/ajthomascouk/DbRwn/2/
希望這有助於。
雖然這沒有回答我的問題(我已經修復了這個措辭),但這仍然非常有用。謝謝! – firefusion
那麼,只是把那裏固定的div是什麼錯誤? – Pehmolelu
這就是做了什麼,但我問如何從模板頁面中獲得div的所有標記(以便查看源代碼是乾淨的)並僅使用JavaScript文件包含它。 – firefusion