我有2 Div
标记设置如下
<div id="testing1" >
<div id="newpar" >
<div id="1" > 1 </div>
<div id="2" > 2 </div>
<div id="3" > 3 </div>
<div id="4" > 4 </div>
</div>
</div>
<div id="testing2" >
<div id="newpar" >
<div id="1" > 1 </div>
<div id="2" > 2 </div>
<div id="3" > 3 </div>
<div id="4" > 4 </div>
</div>
</div>
我需要将div
id
newpar
转换为drop down menu
(选择菜单)。是可能的......
答案 0 :(得分:5)
试试这个:
var sel = $('<select id="tesing2"/>');
$('#testing2 div').each(function(){
sel.append('<option value='+this.id+'>'+this.innerHTML+'</option>')
})
$('#testing2').replaceWith(sel)
由于ID必须是唯一的,您可以使用类来代替:
<div id="testing2">
<div class="newpar">
<div id="1"> 1 </div>
<div id="2"> 2 </div>
<div id="3"> 3 </div>
<div id="4"> 4 </div>
</div>
</div>
var sel = $('<select id="tesing"/>');
$('#testing2 > div > div').each(function(){
sel.append('<option class='+this.parentNode.className+'>'+this.innerHTML+'</option>')
})
$('#testing2 > div').replaceWith(sel)
答案 1 :(得分:1)
纯css回答:http://jsfiddle.net/Wycbd/1/
只有几点:id不能以数字开头,而且必须是唯一的。在我的小提琴中,我将id="1"
id="2"
更改为class="one"
class="two"
答案 2 :(得分:1)
这很容易:)
$(function() {
var id2convert = "testing2",
divs = $("div", "#" + id2convert),
select = $("<select id=\"" + id2convert + "\">");
divs.each(function() {
var text = $(this).text();
select.append("<option value=\"" + text + "\">" + text + "</option>");
});
divs.parent().replaceWith(select);
})