2012-08-11 127 views
0

是否有一種直接的方法可以將一整套CSS應用到DOM樹的一部分?例如,我有一個使用jQuery和jQueryUI顯示對話框的文檔。對話內容通過AJAX加載,所以它作爲HTML元素的新/獨立樹來插入,我將其插入對話框的<div>。將備用CSS應用於jQueryUI對話框?

我想要做的,實質上是將不同的jQueryUI主題應用於對話框內容。因此,例如,對話框標題欄和按鈕將根據一個主題進行樣式設置,但對話框內容(按鈕,輸入框,滾動條,文本等)將根據不同的主題進行樣式設置。

我想我可以將一個前綴應用於對話框內容中的所有類,並將相同的前綴應用於替代CSS選擇器。有沒有更簡單的方法來實現這一點?

回答

1

http://jqueryui.com/download

在右手邊,有一個列表菜單,內菜單選項

Advanced Theme Settings 

鑽成這樣了,你會得到一個下拉與兩個輸入。第一個允許你附加一個'css範圍',這實際上就是你想要的。按你的名稱命名。

此外

如果你問號點擊輸入框右側,它會或多或少地描述你在說什麼。

This field allows you to specify a CSS scope to limit your theme to a particular portion of a page. This is helpful when using multiple themes on a page. If you don't provide a CSS scope, your theme will apply to all UI elements on a page.

去上...

In most situations, you won't need to specify a CSS scope. Please Note: If you provide a CSS scope, you will not get an example page included in your download.

+0

這是完美的,謝謝! (在同一個目錄中讓多個主題共存似乎有點費力,但我有一個示例頁面處理一個主題,當您單擊「打開對話框」按鈕時,對話框將顯示在不同的主題中) – 2012-08-11 23:04:54

+0

這個想法是使用你在編譯器中添加的類作爲你想使用的任何元素的包裝,即使它只是一個任意的div。只需將所有要應用樣式的元素包裝到具有相同類的容器中,然後關閉它,以便它不會包含您不希望應用該主題的其他元素。 – Ohgodwhy 2012-08-12 00:08:30