如何识别 toggle() 状态(true 或 false)

3

我是JQuery的新手。

我想要获取toggle()的状态,即它是true还是false?

在这里,当toggle被点击时,我想将变量设置为true,当它变为false时,我希望再次重置该变量的值。

$(document).ready(function(){
         var neck='';
         var chest='';
            $("#neck,#chest").click(function(){
                $(this).toggleClass('opa');
            })
        })

这里在opa类中设置了不透明度级别。如果为真,则不透明度为1;如果为假,则不透明度为0。

这段代码运行良好,可以切换类(添加和删除)。

但是当neck第一次被点击时,我想将neck值设置为neck = "neck",当neck第二次被点击时,我想将neck = ""。

我也参考了http://api.jquery.com/toggle/链接,但没有找到我的答案。

是否可能获取类似于true/false或类似的状态?


3
你可以检查一下它是否有这个类吗?var toggle = $(this).hasClass('opa') - elclanrs
你能提供更多的信息吗,这样我就可以尝试实现你的建议了。 - 404 Not Found
1
如果有帮助的话,请查看此链接:https://dev59.com/cnE95IYBdhLWcg3wQ7qb - MarsOne
2个回答

6

请尝试这个:

$(document).ready(function(){
    var neck='';
    var chest='';
    $("#neck,#chest").click(function(){
        if($(this).toggleClass('opa').hasClass('opa')){
           neck = "neck";
        }else{
           neck = "";
        }
    });
});  

1
谢谢,它像魔法一样有效...但是$(this).attr("neck","neck");语句没有将数据存储在变量中。所以我手动分配了值,如**neck="neck";**。这样做好吗? - 404 Not Found
抱歉,我不太明白你真正想要什么。在你的情况下,使用.attr方法完全没有用,因为你想要赋值给一个变量。我已经编辑了代码。感谢你指出这一点。 - Kemal Dağ

0

@MarsOne这是否意味着他已经能够理解那里写的一切? - Pallab
1
好的,你仍然可以将其发布为评论。这怎么能算作答案呢? - MarsOne
@Pallab 我已经在那里检查过并尝试了不同的示例。 - 404 Not Found
我有一个小建议,关于传递他的变量和所需值。好吧,我同意这也可以是一条评论。但仅仅因为它是一个答案,就不应该被踩。如果答案是错误的,再进行踩。 - Pallab
2
如果答案不正确,请点“踩”。踩答案并不仅仅取决于答案是否正确。我的理由是 Stack Overflow 遵循的基本原则,即它没有用处。 - MarsOne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接