2016-11-23 152 views
0

我在我的應用程序上有一個任務列表。一些任務具有子任務,通過屬性將其附加到他們的父母身上。用於匹配動態類名的CSS通配符選擇器?

這些任務位於列表中(父項和子項任務),其中沒有元素層次結構,只是一個普通的<li>元素。他們對父項的唯一附件是數據父項屬性。

我想要一類適用於每一個共享父,它會很容易,如果類名是靜態的,但因爲它是動態的,這是比較困難的元素..

我試圖做到:

.parent-element4322.red ~ li[data-parent=4322]{ 
    background:red 
} 

這將是一個靜態類,我想這樣的事情有各種各樣的通配符:

.parent-element*.red ~ li[data-parent=*]{ 
    background:red 
} 

在其中,很明顯,無論是* S將匹配同一班,而不是任何班。

關於如何實現的任何想法?

+0

看看這個:http://stackoverflow.com/questions/5110249/wildcard-in-css-for-classes – k97513

+0

是的,我以前看過這篇文章,那將匹配任何元素,我需要的東西匹配第一個,然後匹配第二個相同的第一個 – raphadko

回答

0

它看起來像你試圖匹配data-parent屬性對應於基於另一個元素的.parent-element*類的現有數字的元素。不幸的是,Selectors does not support this

根據您對標記的描述,我不認爲除了DOM操作之外,還有很多其他的解決方法。我希望補充一點,那就是最好在子任務上標記嵌套列表。但是,如果您無法控制源標記,則必須找到其他方法。

+0

我想這也行不通,即使匹配數據父項屬性? (名字未知) – raphadko

+0

@raphadko:如果您將子任務放入嵌套的ul/li元素中,您可以簡單地選擇每個父任務的後代的子任務元素,而不需要數據父項屬性或基於任務的匹配id,即'.red li {background:red}' – BoltClock