2012-08-11 124 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