jquery如何给元素添加一个自定义属性并在事件中取反分别执行?

oDiv.off = true;
oBtn.onclick = function(){
if(oDiv.off){
console.log('1')
}else{
console.log('2')
}
oDiv.off = !oDiv.off
};
像这种我用jquery直接设置attr的话问题是出在哪里了?
$('#div').attr('off',false);
$('#btn').click(function(){
if( $('#div').attr('off') ){
$('#div').attr('off',false);
console.log('1');
}else{
$('#div').attr('off',true);
console.log('2');
}
});
求解答~

$('#btn').toggle(function(){
$('#div').data('off',false);
}, function(){
$('#div').data('off',true);
});

追问

toggle不是交替切换显示状态吗?

追答现在是第一种情况。。。

参数
fn,fn2,[fn3,fn4,...]Function,....V1.0
fn:第一数次点击时要执行的函数。
fn2:第二数次点击时要执行的函数。
fn3,fn4,...:更多次点击时要执行的函数。


[speed] [,fn]String,FunctionV1.0
speed: 隐藏/显示 效果的速度。默认是 "0"毫秒。可能的值:slow,normal,fast。"
fn:在动画完成时执行的函数,每个元素执行一次。


[speed], [easing ], [fn ] 
String,String,FunctionV1.4.3
speed: 隐藏/显示 效果的速度。默认是 "0"毫秒。可能的值:slow,normal,fast。"
easing:(Optional) 用来指定切换效果,默认是"swing",可用参数"linear"
fn:在动画完成时执行的函数,每个元素执行一次。


switch BooleanV1.3
用于确定显示/隐藏的开关。如:true - 显示元素,false - 隐藏元素

追问

谢谢,我找到问题了,获取的attr是一个string值,而不是一个boolean值,用来做判断条件出问题了

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答