应该如何在jQuery中更改DIV的ID

时间:2011-12-01 07:33:59

标签: javascript jquery jquery-plugins

我必须交换div。

交换工作正常(我正在使用Jquery Swap插件)。 交换后我也要交换DIV的ID。

请找到JQuery代码。请帮助我如何更换DIV ID。

 $(".arrowIMG").click(function() {
                    var arr = this.id.split("_");
                    if(arr[0] == 'down'){

                        var div1 = $('#'+'div_' +arr[1]);
                        var next = (parseInt(arr[1]) + 1);
                        alert(next)
                        var div2 = 'div_' + next;

                        div1.swap({
                        target: div2, 
                        opacity: "0.5",
                        speed: 1000, 
                        callback: function() { 
                         //Now Here i want to swap the id of div (div1 and dev2)

                        }
                    });

                    }else if(arr[0] == 'up') {
                        alert('up');
                    }

                }); 

请帮助我换掉DIV ID。

3 个答案:

答案 0 :(得分:2)

我不确定您的功能的确切行为是什么 - 但以下内容应该可以更改ID:

$(element).attr('id', 'new_id');

答案 1 :(得分:1)

callback: function() { 

    var div2selector = $('#'+div2); //making both selectors in same format as div2='div_' + next
    var tempid = div1.attr('id');
    div1.attr('id',div2selector.attr('id'));
    div2selector.attr('id',tempid );

                    }

编辑:

div1和div2的格式不同。所以做了类似的

答案 2 :(得分:0)

使用jQuery .attr()获取匹配元素集中第一个元素的属性值。

检查一下:

<div id="my" > s,dfsd </div>  

<div id="src" class="div1">       
    src
</div>
<div id="dest" class="div2">
    dest
</div>

jQuery代码:

$("#my").attr('id','mynewid');
$("#mynewid").html("this new content");

var temp = $(".div1").attr('id');
$(".div1").attr('id',$(".div2").attr('id'));
$(".div2").attr('id', temp);

选中此jsFiddle

使用此代码段调整点击事件行为。在您的function()代码中,您已经访问过这些元素,因此您可以直接访问这些元素的ID。

var temp = div1.attr('id');
    div1.attr('id',div2.attr('id'));
    div2.attr('id', temp);