0

以下のコードの最後の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 数値に変換し、それに 1 を加えます。

ありがとうございました

4

7 に答える 7

1

それらが数値順であると仮定すると、これは最後の画像要素のIDの数値+ 1を取得します...

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

要素が順不同である可能性がある場合、これは機能せず、それらをすべて解析して最高値を見つける必要があります。

于 2012-10-08T12:23:58.810 に答える
0

id常にから割り当てを開始し1、途中でIDが欠落していない場合は、試してみてください

var newID = "obj_" + ( $('#objects > div').length + 1)
于 2012-10-08T12:22:13.660 に答える
0

これで済むはず…

sudo セレクター :last が重要です。

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

//Or id++
于 2012-10-08T12:23:05.537 に答える
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');
});
于 2012-10-08T12:23:25.580 に答える
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_","")));
}
});​
于 2012-10-08T12:23:36.507 に答える
0

最初に最後の要素を見つける必要があります。そのケーキをスライスする方法はかなりあります。私は好むだろう

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

番号を抽出する必要があります

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

add すると num に 1 を足すことができます

parseInt の最後の引数は、文字列を 10 進数として解析するようランタイムに指示する基数です。この引数を指定しないと、予期しない結果が生じる可能性があります。これらの状況が発生するかどうかは、ID の生成方法によって異なりますが、基数を常に指定することをお勧めします。

于 2012-10-08T12:27:41.617 に答える
0

正規表現の使用:

$("#objects >div:last img")[0].id.replace(/[a-z]+_/gi,"")
于 2012-10-08T12:28:03.270 に答える