これが私のjqueryです:
// Show all instances
var link = $('<a class="show-instances" href="#">Show all instances</a>');
$('tr.main').hide().first().find('.product').parent().remove('a').append(link);
$('tr.main').first().show();
$(function () {
$(".show-instances").click(function (e) {
e.preventDefault();
$(".show-instances").addClass('selected').not(this).removeClass('selected');
var selectedClass = $(this).closest('tr.main').attr('class').split(' ');
$('.' + selectedClass[1]).not(':has("a.show-instances")').toggle();
return false;
})
});
アンカーの追加が機能し、クリックでクラスの追加が機能します-ユーザーが2回目にアンカーをクリックしたときに、クリックして「選択」されたクラスが削除されない理由がわかりませんか?
したがって、ユーザーがアンカー「show-instances」をクリックすると、「選択された」クラスがアンカーに追加されます。もう一度クリックすると、クラスを削除する必要があります。
別の機能がありませんか?
助言がありますか?
/ * ** * **解決済み* ** * ** * /
Toggle クラスの使用 - jquery は次のとおりです。
// Show all instances
var link = $('<a class="show-instances" href="#">Show all instances</a>');
$('tr.main').hide().first().find('.product').parent().remove('a').append(link);
$('tr.main').first().show();
$(function () {
$(".show-instances").click(function (e) {
e.preventDefault();
$(this).toggleClass("selected");
var selectedClass = $(this).closest('tr.main').attr('class').split(' ');
$('.' + selectedClass[1]).not(':has("a.show-instances")').toggle();
return false;
})
});
また、ここにJsfiddleのリンクがあります