-2

我正在尝试通过使用 Jquery 单击元素来更改元素的 ID。该操作在第一次点击时起作用,但在之后的任何点击中都不起作用。

$(document).ready(function(){
$("#chatframebuttonhidden").click(function() {
var $t = $(this);
            $t.attr({
                    id : $t.attr('id2')
                });
            });;
$("#chatframebuttonshown").click(function() {
var $t = $(this);
            $t.attr({
                    id : $t.attr('id1')
                });
            });;
});


<div id="chatframebuttonhidden" id2="chatframebuttonshown" id1="chatframebuttonhidden"></div>

术语“隐藏”并不意味着 div 不在视野范围内,它只是意味着它更小更不明显。

最终目标是在屏幕底部制作一个隐藏/取消隐藏大型固定位置分隔线的按钮。我认为更改 ID 以使其引用新样式表是最好的方法,但如果你们知道更好的方法,我会全力以赴。

4

3 回答 3

1

改用一个类并打开和关闭它。ID 并不是真的要像那样改变,类是。

也不需要换掉整个样式表来隐藏一些元素。使用父容器并将其隐藏。

于 2012-09-09T21:21:43.197 回答
1

使用 jQuery toggle

$("#chatframebutton").click(function() {
 $('#chatframe').toggle();
});

无需为此用例处理类或 id。

http://api.jquery.com/toggle/

于 2012-09-09T21:23:23.420 回答
0

我宁愿使用类而不是 ids 来更改样式表属性。

$(#chatframebutton).toggleClass(chatframebuttonshownhidden);

你的样式表中描述了 chatframebuttonshownhidden

结帐http://api.jquery.com/toggleClass/了解更多详情。

于 2012-09-09T21:40:11.597 回答