1

我有 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>

​</p>

我需要将其转换divid newpardrop down menu选择菜单)。那可能吗...

4

3 回答 3

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)  

http://jsfiddle.net/DdC5C/4/

于 2012-08-10T07:10:51.140 回答
1

纯 CSS 答案:http: //jsfiddle.net/Wycbd/1/

还有几点:id不能以数字开头,它们必须是唯一的。在我的小提琴中,我将其更改id="1" id="2"class="one" class="two"

于 2012-08-10T07:03:43.580 回答
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);
})

小提琴

于 2012-08-10T07:03:54.143 回答