2009-12-23 85 views
1
$('fieldset.one label, fieldset.two label').each(function() { 
    var className = $(this).text().trim().toLowerCase(); 
    $(this).addClass('default ' + className); 
}); 

我將類動態添加到標籤元素,但是當我嘗試對它們進行樣式設置時,沒有任何效果。其中一人有.sedan類自動添加,我看到它的螢火,但下面沒有任何效果:CSS對動態類沒有任何影響

.sedan { 
    display:none !important; 
} 

HTML:

<fieldset class="one"> 
    <label>sedan</label> 
    <label>suv</label> 
    <label>truck</label> 
</fieldset> 

<fieldset class="two"> 
    <label>sedan</label> 
    <label>suv</label> 
    <label>truck</label> 
</fieldset> 
+1

請包括HTML作爲目標。 – Sampson 2009-12-23 16:14:26

+0

只是,謝謝。 – 3zzy 2009-12-23 16:17:50

+0

這不是'

'。如何顯示實際的HTML? – 2009-12-23 16:21:04

回答

1

使用jQuery的trim方法:

var className = $.trim($(this).text()).toLowerCase(); 
+0

不知道爲什麼這是低調的,原來的代碼只能在實際實現Javascript 1.8.1'String.trim()'方法的最新版本的Firefox中使用。 – 2009-12-23 16:39:47

+0

啊,什麼是downvoted(由某人)實際上是解決方案! :) – 3zzy 2009-12-23 16:42:39

+0

Nimbuz,你的代碼沒有這個工作。 – Sampson 2009-12-23 16:44:16

0

沒有什麼錯的代碼,你」已張貼在這裏。我只是在本地測試它,它工作得很好。確保你的選擇器是正確的 - 你可以檢查是否添加了螢火蟲風格。

+1

「default」後面有空格,jQuery在空格上分開。 OP的代碼應該爲每個元素添加兩個不同的類。 – outis 2009-12-23 16:25:07

+0

OP的代碼*確實*添加了兩個類(給出了這裏發佈的內容)。 – Sampson 2009-12-23 16:31:54