我有这个:
$( 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删除类?
答案 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');
});