Javascript / jQuery将toggleClass限制为4

时间:2016-02-22 01:53:18

标签: javascript jquery

我试图阻止用户选择四个以上的免费座位,并使用toggleClass并附加一个长度,但无法完成此操作并且找不到适合的解决方案。感谢。

的jsfiddle
https://jsfiddle.net/xgrorxnp/1/

HTML

$('.n:contains(\'F\')').click(function(){
        var $this = $(this);
    $(this).toggleClass('selected', !$this.hasClass('selected') &&
        $('.n:contains(\'F\') .selected').length < 4);
    });

我的尝试

nice

1 个答案:

答案 0 :(得分:1)

问题是选择器$('.n:contains(\'F\') .selected')中的空间,它试图匹配具有descandant .n的{​​{1}}元素,而不是.selected .n .selected {1}}本身

尝试替换

className

代表

$('.n:contains(\'F\').selected', this.parentElement)

e.g;

$('.n:contains(\'F\') .selected').length < 4);

其中 $(this).toggleClass('selected', !$this.hasClass('selected') && $('.n:contains(\'F\').selected', this.parentElement).length < amount); 是要匹配的this.parentElement,或点击的context元素的parentElementtr元素

jsfiddle https://jsfiddle.net/xgrorxnp/3/