我想更改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的第一个值。
答案 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;