【问题标题】:JQuery mutliple ids selectors with var带有 var 的 JQuery 多个 ids 选择器
【发布时间】:2017-05-10 02:07:41
【问题描述】:

所以我想为一个学校项目编写内存。 我希望通过.css("visibility", "hidden") 让 2 张卡变得不可见,但只有一张卡变得不可见,另一张保持可见,直到我再选择 2 张卡。

记住我在编程方面很糟糕:

$("#card"+card_id1 "#card"+card_id2).css("Visibility", "hidden");

$("#card"+card_id1).css("Visibility", "hidden");
$("#card"+card_id2).css("Visibility", "hidden");

是我的尝试。

知道如何将可见性同时分配给#card 并在它们上加上 var 吗?

编辑:

`

/*
$(".card_field").click(function(){
    clicked++;
    if(clicked <= 2)
        {
            card_id1 = $(this).attr("value");
            $(this).flip(true);
            clicked++;
        }
    else{
        card_id2 = $(this).attr("value");
        if(card_id1 == card_id2)
            {
                $("#card"[ + card_id1]).css("visibility",  "hidden");
                $("#card"[ + card_id2]).css("visibility",  "hidden");
            }
        else{
            $("#card" + card_id1).flip(false);
            $("#card" + card_id2).flip(false);
        }
        card_id1;
        card_id2;
        alert(card_id1 + " " + card_id2);
    }
});
*/

$(".card_field").click(function(){
    if(clicked != 1)
        {
            card_id1 = $(this).attr("value");
            $(this).flip("toggle");
            clicked = 1;
        }
    else
        {
            card_id2 = $(this).attr("value");
            $(this).flip("toggle");
            clicked=2;
        }

    if(clicked==2)
        {
            if(card_id1 == card_id2)
            {
                setTimeout(function(){

                });
                $("#card"+card_id1 + ", " + "#card"+card_id2).css("visibility", "hidden");
                card_id1 = "";
                card_id2 = "";

                clicked =0;

            }
            else
                {
                    $("#card"+card_id1).flip(false);
                    $("#card"+card_id2).flip(false);
                    card_id1 = "";
                    card_id2 = "";
                    clicked=0;
                }

        }
    else
        {
        }

});`

推荐部分是我之前的尝试。

抱歉缺少编辑,认为没有必要。

【问题讨论】:

  • $("#card"+card_id1 , "#card"+card_id2).css("Visibility", "hidden");

标签: jquery jquery-selectors


【解决方案1】:

你需要一个逗号。只要确保它作为字符串的一部分被正确构建:

$("#card" + card_id1 + ", " + "#card" + card_id2).css("visibility", "hidden");

当指定多个选择器时,您的最终结果应该看起来像一串用逗号分隔的选择器,如下所示: $("#card-123, #card-abc")

另外,Visibility 不是属性名称,但 visibility 是!因此,请确保以小写形式输入属性名称,这也应该有所帮助。

【讨论】:

  • 谢谢,成功了!但我仍然有问题,只有一张卡变得不可见,而其他卡保持打开状态。对这个问题有什么想法吗?
  • 没问题!太糟糕了,它还不能完全正确地工作——你有这条线,就像我说的那样? $("#card" + card_id1 + ", " + "#card" + card_id2).css("visibility", "hidden");?老实说,对于这样的事情,我通常更喜欢使用名称为 is-hidden 的实用程序类来应用于元素组,但这可能比您想要做的更多。
  • 是的,我复制了它,所以我也不会输入错误。我感觉第二张卡片的.flip()动画太长了,所以隐藏不适用。
  • 哦,看起来你在那里做的事情比你原来的问题显示的要多。您能否更新您的问题以添加您现在拥有的内容,并将您正在做的任何其他事情添加到它周围的那些元素中?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-26
  • 2013-07-04
  • 1970-01-01
  • 2013-07-08
  • 2013-07-17
  • 2023-03-28
相关资源
最近更新 更多