2017-07-06 56 views
1

通常情况下,我可以得到回避的事实XPages中使用x $ jQuery选择劫持的字段等的ID属性...的XPages CSS和id属性

不过,我使用的是建立一个sylesheet @打印媒体查询以在打印时将普通表格制作成漂亮版本。我有一个场景,在那里我有一个自定义控件,给它一个GuidanceArea的ID,在正常情况下,我可以用#GuidanceArea在我的样式表中引用它,只是为了简单地将其隐藏起来。

但是这不起作用,我假定是因为ID劫持?这不是什么大不了的事情,因为我有解决方法,我不想打印所有元素,我只是将no-print添加到元素styleClass并将.no-print设置为显示:我的@media打印中没有在样式表中。

然而,出于好奇心,我想知道是否有一种简单的方法来获取元素ID以便在CSS中使用?

+1

我不使用你的风格元素的方式,但我想问题是在XPages创建的id内发生的冒号(“:”)。作为替代方案,您可以使用CSS选择器,例如'[id $ =“GuidanceArea”]'来检查ID是否以某个字符串结尾。但是,你必须小心你如何命名你的元素。另外,这种选择器的性能比“#”低。 –

+2

PS:一般来说,我建议你使用no-print类。 –

+0

干杯,我会继续我开始的道路! –

回答

4

简短的回答:不

多头回答:JSF和管理的XPages id属性,以确保它是在页面上独一无二的。所以你不知道它会是什么。

最简单的方法是使用类属性来标记感兴趣的元素,所以你的选择将是.someclass代替#someid

但是,如果你绝对有:使用XPages中输出元送一块计算的内联css在你使用表达式语言来获得实际的id。浏览器或库可能会在ID上咳嗽:所以你的结果需要大量的测试。 VanillaJS应该工作。

+0

干杯斯蒂芬,正如你所说我已经走了类属性路线。谢谢 –