Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryrel切换?_Javascript_Jquery_Class_Toggle_Rel - Fatal编程技术网

Javascript jqueryrel切换?

Javascript jqueryrel切换?,javascript,jquery,class,toggle,rel,Javascript,Jquery,Class,Toggle,Rel,是否可以像在jquery中切换类一样切换(切换)rel属性 我正在尝试创建一个按钮,单击该按钮将更改(切换)另一个按钮的rel属性。希望这是有道理的 我对此相当陌生,不确定我是否正确地实现了您的代码,但它不起作用。我可能只是想错了这件事 我的想法是使用animatedcollapse.js插件(http://www.dynamicdrive.com/dynamici...edcollapse.htm)制作手风琴的动画。手风琴根据“rel”属性工作,“rel=collapse[selected

是否可以像在jquery中切换类一样切换(切换)rel属性

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


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

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

我试图使它,所以每次点击一个新的链接,以前的手风琴是完全崩溃之前,它展开一个新的。因此,每次单击链接时,前一个div都会在打开新div之前完全关闭


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

你可能想要这个

//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);
          }
});
$(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");
     }
  });
});

我刚刚编写了一个jQuery插件

用法:
$(“选择器”).toggleAttr(“rel”、“option1”、“option2”)


按钮没有
rel
属性(因为它们没有
href
属性来说明关系与什么资源有关)。是的,但您必须编写自己的逻辑。您(mis?)使用
rel
的目的是什么?请看一下在DOM元素
if(var=“value1”)中存储“数据”的方法{
?耶什么?!啊,这个答案已经编辑好了。所以…
如果(relAttribute=“value1”){
?耶什么?!@Mohammed,你必须使用
=
==
,来测试变量是否相等。目前,你正在分配
“value1”
to
relAttribute
。一个全局标志?嗯。现在您将相同的信息存储在两个位置,其中一个位置防止代码被轻松重用。我认为我没有正确使用您的插件。我做错了什么?感谢您的帮助!一个非常常见的错误,以及我的插件的错误用法:您以前正在执行代码文档已加载。请使用
$(document).ready(函数(){$(“#按钮”).toggleAttr(“rel”,“展开[thumb1]”,“折叠[thumb1]”)
。另请参见:Rob-code非常友好!感谢您的帮助!有没有办法关闭该功能,因此当我单击页面上的另一个链接时,rel会返回到原来的状态?基本上,我希望在打开另一个div之前,每个div都完全关闭。这有意义吗?你说的“返回到原来的状态”是什么意思只需调用
.toggleAttr(“rel”、“option1”、“option2”)
再次,还原更改。此链接可能会提供一些清晰性。我想做同样的事情,但要更改rel属性。我只希望活动链接应用rel。这有意义吗?抱歉,我的行话不太好。这实际上是我第一次使用Jquery。谢谢
(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);