获取JQuery中的最后一个元素id号加一

时间:2012-10-08 12:20:17

标签: jquery

如何动态获取下面代码的最后一个ID号? (在此代码中= obj_9)

            <div id="objects">
            <div class="obj_item"><img id="obj_1" class="ui-widget-content" src="elements/abstract_celtic_knot_in_blue_tattoo_design.png" /></div>
            <div class="obj_item"><img id="obj_2" class="ui-widget-content" src="elements/anchor_tears_the_skin_tatoo_design.png" /></div>
            <div class="obj_item"><img id="obj_3" class="ui-widget-content" src="elements/armband_tattoo_with_cross_in_the_center_idea.png" /></div>
            <div class="obj_item"><img id="obj_4" class="ui-widget-content" src="elements/armband_tribal_sign_tattoo_design.png" /></div>
            <div class="obj_item"><img id="obj_5" class="ui-widget-content" src="elements/bat_covered_by_the_wings_tattoo_design.png" /></div>
            <div class="obj_item"><img id="obj_6" class="ui-widget-content" src="elements/black_eye_tattoo_idea.png" /></div>
            <div class="obj_item"><img id="obj_7" class="ui-widget-content" src="elements/black_sketch_of_native_indian_chief_tattoo_design.png" /></div>
            <div class="obj_item"><img id="obj_8" class="ui-widget-content" src="elements/clown_with_two_knives_tattoo_idea.png" /></div>
            <div class="obj_item"><img id="obj_9" class="ui-widget-content" src="elements/eagle_is_catching_prey_tattoo_design.png" /></div>
            </div>

最后将id转换为int number并加上它。

谢谢

7 个答案:

答案 0 :(得分:0)

如果您始终从id开始分配1并且中间没有丢失的ID,请尝试

var newID = "obj_" + ( $('#objects > div').length + 1)

答案 1 :(得分:0)

应该这样做......

sudo选择器:last是关键。

var id = parseInt($('#objects .ob_item:last').find('.ui-widget-content').attr('id'));
id = id + 1;

//Or id++

答案 2 :(得分:0)

以下是代码:

$(document).ready(function(){
    var last_id = $('#objects div.obj_item > img').last().attr('id');
});

你也可以这样做:

$(document).ready(function(){
    var last_id = $('#objects div.obj_item > img:last').attr('id');
});

答案 3 :(得分:0)

我头顶的伪代码......

   var id = "";
$(".obj_item").each(function(index){
var amount = $(".obj_item").length;
if(index == amount-1){

id = $(this).find("img").attr("id");
    alert(parseInt(id.replace("obj_","")));
}
});​

答案 4 :(得分:0)

假设它们是按数字顺序排列的,这将获得最后一个图像元素的ID的数值+ 1 ...

parseInt($("#objects .obj_item:last img").attr("ID").split("_")[1], 10) + 1;

如果元素可能出现故障,那么这将不起作用,您需要解析它们并找到最高值。

答案 5 :(得分:0)

你首先需要找到最后一个元素。有很多方法可以分割蛋糕。我更喜欢

var id = $("#objects .obj_item:last img").attr("ID"); 

你需要提取数字

var num = parseInt(id.substring(3),10);

添加你可以再添加1到num

parseInt的最后一个参数是基数,告诉运行时将字符串解析为十进制数。如果您不提供此参数,则可能会得到一些意外结果。这些情况是否可能出现取决于您如何生成ID,但无论如何总是提供基数是一个好习惯。

答案 6 :(得分:0)

使用正则表达式:

$("#objects >div:last img")[0].id.replace(/[a-z]+_/gi,"")