jQuery .toggleId()添加删除div id?

时间:2014-05-12 11:29:09

标签: javascript jquery html css

我尝试了一些解决方案,但似乎没有任何效果。我想将div id更改为彼此(例如:#red到#blue,然后再回到#red),就像.toggleClass()一样。我试图切换属性,但它没有用。

我已将classes!important标记用于元素。所以唯一剩下的就是使用id。

jsfiddle

HTML

<div id="red"></div>

CSS

#red{
    width:100px;
    height:100px;
    background:red;
}
#blue{
    width:100px;
    height:100px;
    background:blue;
}

的JavaScript

$("#red").click(function () {
    $(this).attr("id", "#blue");
});

3 个答案:

答案 0 :(得分:5)

你几乎就在那里 - 但你不需要#声明中的.attr。它应该是:

$(this).attr("id", "blue");

this fiddle我已经为你完成了(扰乱警报)。

或更短的版本here

答案 1 :(得分:1)

无需编写符号#

 $("#red").click(function () {
    $(this).attr('id', ($(this).attr('id') === 'blue' ? 'red' : 'blue'));
});

请查看此更新链接 - Fiddle

答案 2 :(得分:1)

在设置ID时删除#, 然后你可以检查id

<强>的Javascript

$('div').click(function () {
    var self = $(this);
    self.attr('id', (self.attr('id') === 'blue' ? 'red' : 'blue'));
});