2017-07-06 52 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

乾杯斯蒂芬,正如你所說我已經走了類屬性路線。謝謝 –