2012-06-18 35 views
0

我有一個巨大的不同級別的複選框列表,我想要它的樣式,但因爲所有的項目都有相同的類,沒有id或聯繫表單7 for wordpress沒有選項在複選框面板中使sublevels我想我可以用jQuery實現這一點。用jquery替換特定的html?

生成的HTML是:

<span class="wpcf7-list-item-label">--- Checkbox level one</span> 
<span class="wpcf7-list-item-label">------ Checkbox level two</span> 

我所試圖實現與

<span class="wpcf7-list-item-label level-one"> 

更換

<span class="wpcf7-list-item-label">--- 

我試着用這個代碼

<script> 
    $("<span class=\"wpcf7-list-item-label\">---").replaceWith("<span class=\"wpcf7-list-item-label level-one\">"); 
    </script> 

但沒有成功,是否有可能用jQuery來實現這一點?

謝謝你的時間。

+2

所以你只需要添加一個類?使用addClass()方法... – Th0rndike

回答

4
$('span.wpcf7-list-item-label:first').addClass("level-one") 

如果你想添加一個類基於其索引的所有跨度:

$('span.wpcf7-list-item-label').each(function(index){ 
    $(this).addClass('level-' + index); 
}); 
+0

三種情況如何?提示:'.text()' –

+0

謝謝,但也許我沒有解釋清楚。我有很多複選框,例如我有這個代碼10次,然後我有另一個------而不是--- 30次,然後再 - 然後20更多開始---- - ,所以我需要添加基於複選框標籤內容以---或------開頭的類,而不僅僅是第一個。 –

+0

@RobW。我不確定他想要做什麼......提示:??? ':)' – gdoron

2

使用此:

$('.wpcf7-list-item-label').first().addClass('level-one'); 

對於檢查特定的文本,

$(".wpcf7-list-item-label:contains('---')").addClass('level-one'); 
1

使用這個:

$('.wpcf7-list-item-label').first().removeClass("existingclass").addClass("newclass"); 
+1

'.removeClass(「existingclass」)'爲什麼這樣做? – gdoron

+0

正如顧名思義,刪除現有的一個,然後添加一個新的 – Rab

+1

但他沒有試圖刪除問題中的一個。 ':)' – gdoron