jquery日期选择器超出css范围

jquery日期选择器超出css范围,jquery,css,jquery-ui,datepicker,Jquery,Css,Jquery Ui,Datepicker,我在一个页面中使用多个ui主题。我创建了一个带有css范围的自定义主题,比如说#scope。我在范围中使用一个日期选择器字段,比如说#范围输入#日期选择器。datepicker字段不会从ui主题获取css样式。我想这是因为它是在#scope之外动态创建的,我如何修改它,以及如何使它从scope中获取样式。我记得有同样的问题,检查一般定义的样式,例如span,它可能与ui样式重叠。@bkillic,你是正确的。datepicker日历将附加到document.body,超出您的自定义范围 在如

我在一个页面中使用多个ui主题。我创建了一个带有
css
范围的自定义主题,比如说
#scope
。我在范围中使用一个日期选择器字段,比如说
#范围输入#日期选择器
。datepicker字段不会从ui主题获取
css
样式。我想这是因为它是在
#scope
之外动态创建的,我如何修改它,以及如何使它从scope中获取样式。

我记得有同样的问题,检查一般定义的样式,例如
span
,它可能与
ui
样式重叠。

@bkillic,你是正确的。datepicker日历将附加到document.body,超出您的自定义范围

在如下结构中,日历不在容器的范围内

<style type="text/css">
    .calendarContainer .ui-datepicker {
        /* rule intended to affect only .calendarContainer */
    }
</style>
...
<body>
    <div class="calendarContainer"><input name="date"/></div>
    <div class="ui-datepicker"> (generated calendar)</div>
</body>

.calendarContainer.ui日期选择器{
/*仅影响.calendarContainer的规则*/
}
...
(生成的日历)

我通过在代码中添加包装器div解决了这个问题

$(document).ready(function(){
    $("#ui-datepicker-div").wrap('<div class="ui-layout-center" />');
});
$(文档).ready(函数(){
$(“#ui日期选择器分区”).wrap(“”);
});
只是为了澄清“ui布局中心”是您的自定义css类,对吗?我个人会尽量避免使用与jQueryUI其余部分相同的ui前缀,以避免将来版本中可能出现的名称冲突。