2011-12-01 54 views
2

我必須交換div。如何更改jQuery中DIV的ID

交換工作正常(我正在使用Jquery交換插件)。 交換後我想交換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的方式。

回答

2

我不知道你的函數的期望的行爲到底是什麼 - 但下面應該努力改變的ID:

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

+1教魚的技能,而不是給魚。 –

+0

是的,它會工作,我換了ID –

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不在相同的格式。所以提出了類似的

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);