0

我有这些带有 id 选择器的 css 文件,如下所示:

#globalFilter {
margin-left: 995px;
margin-top:-30px;
width:320px;
height:20px;
font-size: 11px;
}

具有上述 id 的组件如下:

        <p:inputText id="globalFilter" value="Search" />

并且它在被调用的内部notifybar,问题是在呈现页面时选择器中的属性不会应用于组件

注意:css文件加载成功,查看源码模式下存在id="globalFilter"的组件

这些类选择器也不适用于页面内的另一个组件:

选择器:

.underlineOnHover{
text-decoration: underline;
}

零件:

    <h:outputLink id="notify"styleClass="underlineOnHover">
        <h:outputText value="notifications" />
    </h:outputLink>

这些也是为<p:inputText id="globalFilter">

<input id="globalFilter" name="globalFilter" type="text" value="Search" class="ui-inputfield ui-inputtext ui-widget ui-state-default ui-corner-all" /><script id="globalFilter_s" type="text/javascript">PrimeFaces.cw('InputText','widget_globalFilter',{id:'globalFilter'});</script>
4

1 回答 1

1

很可能它的客户端 ID 不是globalFilter,而是form:globalFilter:它的祖先中可能有一些命名容器。只需在浏览器工具(如 Firebug)中检查生成的 HTML,以确保它确实如此。

我能想到的治疗方法有以下三种:

  1. 改用styleClass属性:它接受一个 CSS 类而不是我选择的选择器,比如在<h:inputText styleClass="your-css-class" />.
  2. 通过检查 CSS 文件中生成的 HTML 来使用绝对客户端 ID,例如#form:globalFilter { ... }.
  3. 使用prependId="false"您的封闭属性,<h:form>以便客户端 id 准确无误globalFilter
于 2013-05-03T15:54:42.483 回答