2013-08-06 103 views
1

我想創建一個標籤,放置外輸入複選框拉布勒裏面,像創建輸入框使用jQuery

我試圖這樣,我的HTML是

<input type="checkbox"> 

我jQuery是

$('input[type="checkbox"]').after('<label class="label-select"><span></span></label>'); 

現在的輸出是

<input type="checkbox"> 
<label class="label-select"> 
<span></span> 
</label> 

但我想這樣

<label class="label-select"> 
<input type="checkbox"> 
<span></span> 
</label> 

那麼怎麼可能我寫的jQuery這一點。我不想更改HTML。

感謝您的回答。

回答

3

使用wrap()after()

$('input[type="checkbox"]').wrap('<label class="label-select"></label>').after('<span></span>'); 

Example fiddle

+0

謝謝,但輸出HTML是這樣的'<標籤類= 「標籤選擇」>' – Selvamani

+0

@Selva看到我更新 –

+0

謝謝,我忘了包裝功能。 :) – Selvamani

1

您正在尋找.wrap() jQuery函數。

1

如果你使用jQuery.wrap(),你應該能夠實現你正在尋找的東西。

$('input[type="checkbox"]').after('<span></span>').wrap('<label class="label-select"></label>'); 

編輯 拿到了兩回前對不起,應該是

$('input[type="checkbox"]').wrap('<label class="label-select"></label>').after('<span></span>'); 
+0

謝謝你的回答。但你的html就像這樣:' – Selvamani

+0

編輯它來修復。如果。之後和.wrap方向錯誤。 –

-1

試試這個:

$('input[type="checkbox"]').wrap('<label class="label-select"></label>').wrap('<span></span>'); 
-1

或者你可以使用jQuery的append()方法來追加HTML在一個塊內。試試這個,

$('.label-select').append('<input type="checkbox"><span></span>'); 
0

您只需將元素(複選框)包裝在標籤內。

$('input[type="checkbox"]').wrap('<label class="label-select"><span></span></label>');