如何更改每个div id,它是数字的最后一部分

时间:2014-06-05 08:40:56

标签: javascript jquery html

我想用更改功能更改每个div id。

之前:

<div id="a_1">a1</div>
<div id="b_1">b1</div>
<div id="c_1">c1</div>
<div id="d_1">d1</div>
<button onclick="change()">Değiştir</button>

后:

<div id="a_2">a2</div>
<div id="b_2">b2</div>
<div id="c_2">c2</div>
<div id="d_2">d2</div>
<button onclick="change()">Değiştir</button>

我尝试过这个功能,但它没有用到

function change()
{ 
    var old_id=1;
    var new_id=2;
    alert( bas( $("#a_1").attr("id")) );
    $("div[id$=_"+old_id+"]").attr("id",  bas(  $("div[id$=_"+old_id+"]").attr("id")   ) +new_id);
}

我该怎么办? 感谢。

2 个答案:

答案 0 :(得分:0)

在做了一些小改动后,您可以轻松实现这些目标。

试试这个:

HTML代码:

<div id="a_1">a1</div>
<div id="b_1">b1</div>
<div id="c_1">c1</div>
<div id="d_1">d1</div>
<button onclick="change(1, 2)">Değiştir</button>  

Javascript / Jquery代码:

function change(oldid, newid)
{   
    $('div[id $= "_' +oldid+ '"]').each(function(){
      var clone =$(this).clone(true).attr('id' , 'id_' + newid);
        $('body').append(clone);
    });
    var nextid = newid + 1;
    $('body').append('<button onclick="change(' + newid + ',' + nextid +')">Değiştir</button>');
}

Working Example

答案 1 :(得分:-1)

我已将class属性添加到div元素中。这是演示JSFIDDLE

HTML:

<div id="a_1" class="my_div">a1</div>
<div id="b_1" class="my_div">b1</div>
<div id="c_1" class="my_div">c1</div>
<div id="d_1" class="my_div">d1</div>
<button onclick="change_ids()">Değiştir</button>

JS:

change_ids=function()
{
    var old_id=1;
    var new_id=2;

    $('div.my_div').each(function() {
        var div_id = $(this).attr('id');
        var arr = div_id.split("_");
        //alert(arr[0]+" "+arr[1]);
        var new_div_id = arr[0]+"_"+new_id;
        $(this).attr('id', new_div_id);
        $(this).html(new_div_id);
    });
    alert('Div ids changed')
}