2014-10-31 83 views
-2

我有一些用jquery包裝Wrap元素?

HTML

<input type="checkbox"> 

我需要得到具有複選框的所有元素和wrapp他們不同的是最終的HTML得到這樣

<label class="checkbox"><input type="checkbox"><i></i></label> 

這有可能只用jQuery ?

+0

您需要獲取複選框父級的outerHTML嗎? – Efog 2014-10-31 13:27:20

+1

您可以使用... drumroll請... ['.wrap()'](http://api.jquery.com/wrap/)。 – JJJ 2014-10-31 13:27:38

+0

Txanks for .wrap(),但是沒有解決我的問題:( – 2014-10-31 13:32:32

回答

5

你可以做這樣的事情

$('input:checkbox').wrap('<label class="checkbox" />').after('<i />')
label.checkbox { 
 
    border: 1px solid red; 
 
} 
 
label.checkbox i { 
 
    display: inline-block; 
 
    padding: 5px; 
 
    line-height: 10px; 
 
    background-color: blue; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input type="checkbox">

+1

'.parent()。append()'可以替換爲'.after()'。 – JJJ 2014-10-31 13:29:37

+0

@Juhana yes ... thanks – 2014-10-31 13:34:08

0

HTML

<input type="checkbox"> 

CSS

$(':checkbox').wrapInner('<i></i>').wrapInner('<label class="checkbox"></label>') 

FIDDLE