单击后从showcomments中删除类(来自所有类似的类)?

时间:2018-04-18 22:24:23

标签: javascript jquery

我有这个:

$( document ).on( "click", ".showcomments", function() {

alert("ok");

var element = $(this);
var id = element.attr("data-postid");

$(element).removeClass('showcomments'); //remove class after click to avoid double call to this function

});

和html:

<a href="javascript:;" class="showcomments" data-postid="'1'">1</a>
<a href="javascript:;" class="showcomments" data-postid="'2'">2</a>
<a href="javascript:;" class="showcomments" data-postid="'3'">3</a>
<a href="javascript:;" class="showcomments" data-postid="'1'">1</a>

当用户点击2时,例如,它将从此类中删除类showcomments,用户将无法再点击2。

问题是当用户点击1(第一个或第二个链接)时,我想从页面中的所有1个链接(data-postid)中删除showcomments类。我不希望用户能够再次点击任何1。有任何想法如何从页面中的任何1删除类?

https://jsfiddle.net/LnLkkvpk/

1 个答案:

答案 0 :(得分:5)

您可以使用showcomments类获取所有元素,然后对其data-postid属性使用属性过滤器:

     //open menu
     const buttons = $('.country-btn');
     const dropDownMenus = $('.dropdownmenu');
     const dropDownItems = $('.dropDownItem')

     buttons.click(function() {
       dropDownMenus.removeClass('active');
       $(this).next('div').promise().done(function() {
         $(this).toggleClass('active');
       });
     });
     //close if menu clicked
     dropDownItems.click(function() {
       dropDownMenus.removeClass('active');
     });