2014-03-05 38 views
0

我想使用類名來設置元素的背景,但我不確定此時是否可以使用LESS js。從LESS中獲取標記的類名

這種情況是: 我有一張運動員名單表,在這些名單上我想顯示一個國旗作爲p標記的背景。

在HTML中,它看起來像:

<table> 
<tr> 
<td class="athlete"><p class="us">Athlete 1</p></td> 
</tr> 
</table> 

我想通過一個mixin設置背景圖片,如果我能得到從P標籤我會在那裏的類名。

.athlete { 
    p { 
      .setBackgroundImage(@ClassName); 

    } 
} 

有沒有辦法在LESS中實現這一點?

+0

您可能更喜歡編寫與您的mixin等效的JavaScript函數。見http://stackoverflow.com/questions/16336695/how-to-insert-less-mixin-in-to-javascript-code – helderdarocha

+0

好點,這給了我需要的靈活性。 我也試圖用循環和數組來實現這一點,但這不是可縮放的... 這可能是未來版本的一個很好的功能 – Daan

+0

我很好奇你的「循環實現」是什麼,爲什麼它是「不可擴展」的。無論如何,你不得不明確定義所有可能的運動員,因爲它沒有HTML的概念。 –

回答

0

問題是我需要爲每個可能的國家制定一個全新的規則。我的循環實現並沒有削減它。

我去了javascript的實現,我添加了一個背景圖像到一個父類的iso編碼的類名。

<div class="nationality"> 
<p class="athlete">Athlete X<span class="nl"></span></p> 
</div> 

jQuery(".nationality span").css('background-image', 'url(../img/flags/60/'+jQuery(".nationality span").attr("class")+'.png); 

謝謝你們。