2017-03-13 171 views
0

我試圖選擇所有元素,但是偶數要作爲一個類別和奇數作爲不同的類別,只有一行在CSS中,但我似乎沒有成功,比如我有一次選擇所有具有相同類別和不同數字的元素

span#__button1-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable 
span#__button3-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable 


span#__button2-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable 
span#__button4-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable 

有沒有辦法將其全部選中,但單雙號要分開,因爲我需要奇數是紅色的,甚至是藍色的,有點像這樣

span#__button(n)-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable 

span#__button(n+1)-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable 

我有其他元素有一些這些類,但不只是他們,所以我不想瞄準他們所有人。 其他要素都是這樣

span#__button1-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnIconFirst.sapMBtnInner.sapMBtnText.sapMFocusable 
span#__button2-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnIconFirst.sapMBtnInner.sapMBtnText.sapMFocusable 
span#__button3-inner.sapMBtnDefault.sapMBtnHoverable.sapMBtnIconFirst.sapMBtnInner.sapMBtnText.sapMFocusable 
+0

[jQuery選擇器中的通配符]的可能重複(http://stackoverflow.com/questions/5376431/wildcards-in-jquery-selectors) –

+1

難道你不只是使用所有項目通用的類名?例如。 '.sapMBtnDefault {}' – Jackson

+0

嘗試相同的選擇,但沒有id部分,例如'span.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable' – Cr1xus

回答

0

我會用:

span.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable [ID^= __按鈕] [ID $ = - 內]

這選擇器在開始時通過搜索_ignbutton來模擬通配符,通過屬性選擇器id^= __按鈕。然後,用ID $ =搜索結尾。

OR

如果ID匹配並不重要,只需刪除該部分:

span.sapMBtnDefault.sapMBtnHoverable.sapMBtnInner.sapMBtnText.sapMFocusable 
1

您已經收到了許多意見和你問的問題的答案,所以我我只在這裏提出幾個選擇。

前提:您正試圖在視圖渲染後從視圖中選擇多個元素。假設這是爲了更改CSS規則或者可見性或選定的控件。

替代方法:向您想要(稍後)選擇的每個控件添加一些自定義數據。這本身可以通過兩種方式完成。一種是使用工廠功能來生成控件。二是手動將自定義數據添加到控件。當模型數據用作生成控件的基礎時,工廠函數將起作用。在視圖上手動創建可管理數量的控件時,手動添加自定義數據是一種選擇。一旦呈現視圖,您可以始終通過遍歷內容並檢查自定義數據來選擇元素。

優點:該方法將根據代碼中已有的條件添加自定義數據。這將使其更易於維護。您不必使用jQuery,您的搜索將使用JavaScript。您可以進一步調整代碼以允許其管理多組自定義數據(以防將來需要) 缺點:您將循環查看視圖的內容,因此較大的視圖會導致性能下降。如果您的視圖中有非常複雜或龐大的控制集,我會建議使用jQuery中的屬性選擇器,如其他評論和答案中所述。

希望能幫到你。

相關問題