如何动态获取下面代码的最后一个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并加上它。
谢谢
答案 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,"")