您好我想在点击其中一个链接后禁用所有其他链接,除了点击的链接。
到目前为止,这是我的代码:
的JavaScript
$(".link-chart").click(function($e) {
if($(this).find(".link-selector-two").hasClass('red')) {
$('.link-selector-two', this).addClass('cssclass');
$('.link-selector-one', this).addClass('cssclass');
} else {
$('.link-selector-two', this).removeClass('cssclass');
}
});
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="link-chart lx-link-chart">
<div class="link-selector-one">
<div class="link-selector-two red">One</div>
</div>
</a>
<a href="#" class="link-chart lx-link-chart">
<div class="link-selector-one">
<div class="link-selector-two red">Two</div>
</div>
</a>
所以我的想法是,例如,如果我单击第一个链接以禁用第二个链接,如果我再次单击第一个链接,它将以其现在工作的方式取消选择第一个链接,以便第二个链接可供选择再次。如果我单击第二个链接以禁用第一个链接,则相同的选项适用于第二个链接。
欢迎任何帮助,让我知道必须采取哪种方法。
答案 0 :(得分:2)
你可以这样做:
var $linkChart = $('.link-chart');
$linkChart.click(function(e) {
$linkChart.each(function() {
if (e.currentTarget !== this) {
$(this).toggleClass('disabled');
}
});
});
.link-chart {
&.disabled {
pointer-events: none;
opacity: 0.25;
}
}
这是一个fiddle来展示它的实际效果。仅供参考,我添加了第三个链接,以便您可以看到它对于您想要添加的链接完全相同。