Javascript jqueryrel切换?
是否可以像在jquery中切换类一样切换(切换)rel属性 我正在尝试创建一个按钮,单击该按钮将更改(切换)另一个按钮的rel属性。希望这是有道理的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
我对此相当陌生,不确定我是否正确地实现了您的代码,但它不起作用。我可能只是想错了这件事 我的想法是使用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”
torelAttribute
。一个全局标志?嗯。现在您将相同的信息存储在两个位置,其中一个位置防止代码被轻松重用。我认为我没有正确使用您的插件。我做错了什么?感谢您的帮助!一个非常常见的错误,以及我的插件的错误用法:您以前正在执行代码文档已加载。请使用$(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);