-1

是否可以像在 jquery 中切换类一样切换(切换)rel 属性?http://api.jquery.com/toggleClass/

我正在尝试创建一个按钮,单击该按钮将更改(切换)另一个按钮的 rel 属性。希望这是有道理的。


我对此很陌生,不确定我是否正确地实现了您的代码,但它不起作用。我可能只是想错了这件事。

我的想法是使用 animatedcollapse.js 插件 (http://www.dynamicdrive.com/dynamici...edcollapse.htm) 为手风琴制作动画。手风琴根据“rel”属性工作,“rel=collapse[selected div]”或“rel=expand[selected div]”。展开或折叠手风琴。它设置方式的问题在于,当一个 div 折叠时,另一个 div 会同时在后台展开。

http://dl.dropbox.com/u/14080718/Final/UITabs10.html

我正在努力做到这一点,因此每次单击新链接时,以前的手风琴都会在展开新的手风琴之前完全折叠。因此,每次单击链接时,前一个 div 都会在打开新 div 之前完全关闭。

我在想“rel=collapse[selected div]”和“rel=expand[selected div]”之间的 rel 切换可能会解决这个问题,但我不确定。如果您有任何其他想法,我很想听听。

4

3 回答 3

1

我刚刚写了一个jQuery插件。

用法:$("selector").toggleAttr("rel", "option1", "option2");

(function($) {
    $.fn.toggleAttr = function(attribute, option1, option2) {
        return this.each(function() {
            var $this = $(this);
            if ($this.attr(attribute) != option1) {
                $this.attr(attribute, option1);
            } else {
                $this.attr(attribute, option2);
            }
        });
    }
})(jQuery);
于 2012-01-06T13:36:00.143 回答
0
//global flag to check condition
var flag = true;

$('#yourelement').click(function(){
           if(flag == true){
                flag = false;
                $('#yourotherelement').attr('rel', newValue);         
           }else{
                flag = true;
                $('#yourotherelement').attr('rel', oldValue);
          }
});
于 2012-01-06T07:23:42.103 回答
0

你可能想要这个,

$(document).ready(function(){
  $(".buttonToggle").click(function(){
    var relAttribute = $(".buttonYouWanttotogglerelattr").attr("rel"); 
  //gets current rel
    if(relAttribute == "value1"){
     $(".buttonYouWanttotoggleRelattr").attr("rel","value2"); 
     //if its value1 change it to value2
     }
    else
     {
     $(".buttonYouWanttotoggleRelattr").attr("rel","value2");
     }
  });
});
于 2012-01-06T07:28:19.697 回答