js - 切换元素ID

时间:2014-03-11 19:09:11

标签: javascript jquery attributes element

我想更改2个div。

val = [
   ["one","two"],
   ["two","one"]
];
    sub = [];
    for(i in val)
    {
        sub = val[i];
        if($(e.target).is("#"+sub[0]))
        {
             $("#"+sub[0]).attr({"id", sub[1]});
        }
    }

这两个div不同时存在。但是这段代码仍然不起作用。它有什么问题?

//修改

我已经上课了。它仍然无法奏效。会发生什么?

我还测试了每个循环的删除建议。它有效,但只是val的第一个值。

3 个答案:

答案 0 :(得分:2)

attr({"id", sub[1]}); 

应该是:

attr("id", sub[1]);

虽然我同意其他所有人的意见,但使用属性或类名可能有更好的方法。

此外,如果这是在click事件处理程序或其他绑定事件处理程序中,并且取决于它的绑定方式,您可能可以替换:

if($(e.target).is("#"+sub[0]))

if($(this).attr(id) == sub[0])

答案 1 :(得分:0)

类适用于多个div(如您的情况),ID仅适用于单个div。

答案 2 :(得分:0)

我会写:

var a = document.getElementById('one');
var b = document.getElementById('two');
a.id = 'two';
b.id = 'one;