如何获取 Facelet 中当前 ui:fragment 的索引?

发布于 2024-12-29 17:56:23 字数 341 浏览 2 评论 0原文

<ui:fragment rendered="#{...}">
<p class="#{current.index eq 0 ? '' : 'someClass'}">
  Some Text
</p>
</ui:fragment>
.....
<ui:fragment ...>
<p class="#{current.index eq 0 ? '' : 'someClass'}">
  ...
</p>
....
</ui:fragment>

如何获取上述 Facelet 中当前 ui:fragment 的索引?

<ui:fragment rendered="#{...}">
<p class="#{current.index eq 0 ? '' : 'someClass'}">
  Some Text
</p>
</ui:fragment>
.....
<ui:fragment ...>
<p class="#{current.index eq 0 ? '' : 'someClass'}">
  ...
</p>
....
</ui:fragment>

How do I get the index of current ui:fragment in the above facelet?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟酉 2025-01-05 17:56:23

您对它们进行硬编码,而不是使用等迭代组件,因此范围内没有可用的索引。只需对索引进行硬编码,或者使用像 这样的迭代组件,其中索引可通过 varStatus 引用获得。

<ui:repeat value="#{bean.list}" var="item" varStatus="loop">
    <p>#{loop.index}</p>
</ui:repeat>

You're hardcoding them instead of using an iterating component like <ui:repeat> or so, so there's no index available in the scope. Just either hardcode the index as well, or use an iterating component like <ui:repeat> wherein the index is available by the varStatus reference.

<ui:repeat value="#{bean.list}" var="item" varStatus="loop">
    <p>#{loop.index}</p>
</ui:repeat>
柠檬心 2025-01-05 17:56:23

如果我在 p 标签中使用硬编码文本,

<ui:fragment rendered="#{...}">
<p class="dummyClass someClass">
   Text 1
</p>
</ui:fragment>
<ui:fragment rendered="#{...}">
<p class="dummyClass someClass">
   Text 2
</p>
</ui:fragment>
.........

然后使用 jQuery

$('.dummyClass').each(function() {
    if($(this).index() == 1){
        $(this).removeClass('someClass');
    }
});

请注意,不带参数的 .index() 对于第一个元素返回 1。

If I'm using hardcoded text in the p tag,

<ui:fragment rendered="#{...}">
<p class="dummyClass someClass">
   Text 1
</p>
</ui:fragment>
<ui:fragment rendered="#{...}">
<p class="dummyClass someClass">
   Text 2
</p>
</ui:fragment>
.........

And then using jQuery

$('.dummyClass').each(function() {
    if($(this).index() == 1){
        $(this).removeClass('someClass');
    }
});

Note that the .index() with no parameters returns 1 for the first element.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文