Javascript Jquery:检查列表中的所有链接是否都已单击

Javascript Jquery:检查列表中的所有链接是否都已单击,javascript,jquery,Javascript,Jquery,我正在制作一个化身创造者。用户有一个链接列表,他们必须单击该列表来定制化身选项 列表下有一个提交按钮。我只希望提交按钮出现时,用户点击所有的链接,这是一个响应设计,所以这将只发生在手机上 如何使用Jquery检查是否所有链接都已单击,然后将活动类应用于包装器以显示submit按钮 注意:链接是内容滑块的一部分,因此它们不会链接到外部页面单击链接隐藏/显示当前页面上的内容 <div class="wrapper not-active"> <ul> <li&g

我正在制作一个化身创造者。用户有一个链接列表,他们必须单击该列表来定制化身选项

列表下有一个提交按钮。我只希望提交按钮出现时,用户点击所有的链接,这是一个响应设计,所以这将只发生在手机上

如何使用Jquery检查是否所有链接都已单击,然后将活动类应用于包装器以显示submit按钮

注意:链接是内容滑块的一部分,因此它们不会链接到外部页面单击链接隐藏/显示当前页面上的内容

<div class="wrapper not-active">

<ul>
    <li><a href="#">HairColour</a></li>
    <li><a href="#">EyeColour</a></li>
    <li><a href="#">SkinColour</a></li>
    <li><a href="#">HairStyle</a></li>
</ul>


<a href="#" class="submit">SUMBIT CHOICES</a>

</div>

我有一个,但我没有添加任何Jquery代码,因为我不确定使用哪个函数来检查是否所有链接都已单击。为了保持清晰,我省略了内容滑块的代码。

如何为每个已单击的链接添加一个CSS类,然后测试总共有多少个

$(function() {
    var $all = $("ul li a");
    $all.click(function() {
        $(this).addClass("clicked");
        if($(".clicked").length === $all.length) {
           $(".submit").show();
        }
    });
});

在每个被点击的链接中添加一个CSS类,然后根据总共有多少个链接来测试有多少个,怎么样

$(function() {
    var $all = $("ul li a");
    $all.click(function() {
        $(this).addClass("clicked");
        if($(".clicked").length === $all.length) {
           $(".submit").show();
        }
    });
});
试试这个

$(function(){
    var count = 0;
    $('a').on("click",function(){
        if(!$(this).hasClass('dummy')){
          $(this).addClass("dummy");
          count++;
        }
    });

    function submitFn(){
      var alen = $('a').length;
        if(count == alen) {
          //submit form
        }
        else{
          //throw message
        }
    }
})
试试这个

$(function(){
    var count = 0;
    $('a').on("click",function(){
        if(!$(this).hasClass('dummy')){
          $(this).addClass("dummy");
          count++;
        }
    });

    function submitFn(){
      var alen = $('a').length;
        if(count == alen) {
          //submit form
        }
        else{
          //throw message
        }
    }
})
你可以这样做-

$('ul li a').on('click', function (e) {
    e.preventDefault();
    $(this).addClass('clicked');
    if ($('.clicked').length === $('ul li a').length) {
        $('.submit').show();
    }
});
演示-->

您可以这样做-

$('ul li a').on('click', function (e) {
    e.preventDefault();
    $(this).addClass('clicked');
    if ($('.clicked').length === $('ul li a').length) {
        $('.submit').show();
    }
});

演示-->

此处发布的所有解决方案都很好,但由于它使用了包装类,因此效果最好,因此我可以隐藏不同设备的按钮,而不是所有设备。此处发布的所有解决方案都很好,但由于它使用包装类,因此效果最好,因此我可以隐藏不同设备的按钮,而不是所有设备。