在jquery中动态添加div id

时间:2013-01-10 10:02:05

标签: jquery

如何使用wrap在jquery中动态添加div id,即每个下拉列表$(this).wrap('<div class="selectbox"/>'); ($select)生成的ID对于每个下拉列表都应该不同。

更新

$(document).ready(function() {
    $("select").each(function() {
        var id = $(div).att("id");
        $(this).wrap('<div class="selectbox"/>');
        $(this).after("<span class='selecttext'></span><span class='select-arrow'></span>");
        var val = $(this).children("option:selected").text();
        $(this).next(".selecttext").text(val);
    });
}); 

这就是我想要做的..在这里我需要添加应该动态创建的div id。

3 个答案:

答案 0 :(得分:1)

试试这个:

$("li").each(function(i, e) {
  $(e).attr("id", "_id" + i);
});

例如,您可以使用随机化的字符流来模拟ID。也许这就是你打算做的事情。很难从如此简短的描述中找出你想要的东西。但是,我希望它有所帮助。

答案 1 :(得分:0)

each函数之前创建一个变量,并在each循环内增加变量。

试试这个

$(document).ready(function(){ 
    var slctid = 1;  //creating a variable
     $("select").each(function(){ 
         var selectId= "selectID_" + slcid;  //naming the variable
       $(this).wrap('<div id="'+selectId+'" class="selectbox"/>');  //append it
       $(this).after("<span class='selecttext'></span><span class='select-arrow'></span>"); 
       var val = $(this).children("option:selected").text();
       $(this).next(".selecttext").text(val); 

        slctid ++;  //increase it here
     }); 
 }); 

此处您的选择ID将增加1 ... 例如。 firstid = selectID_1,secondId = selectID_2 ... 等等......

答案 2 :(得分:-1)

请改用:

$(document).ready(function() {
    var id = 0;
    $("select").each(function() {
        $(this).wrap('<div class="selectbox" id="' + id + '"/>');
        id++;
        $(this).after("<span class='selecttext'></span><span class='select-arrow'></span>");
        var val = $(this).children("option:selected").text();
        $(this).next(".selecttext").text(val);
    });
});