更改伪元素类更改的代码,无法计算出if语句。。。
伙计们请告诉我,有一个代码是有效的:
$('.dropdownlink').on('click', function (e) {
e.preventDefault()
let lass = $('.dropdownlink').hasClass('dropdownlink--active')
if (lass)
$('.dropdownlink').removeClass('dropdownlink--active');
else if ($(this).not(this).hasClass('dropdownlink--active'))
$('.dropdownlink').removeClass('dropdownlink--active');
$(this).addClass('dropdownlink--active');
})
我需要在最后再添加一个条件,结果是:
$('.dropdownlink').on('click', function (e) {
e.preventDefault()
let lass = $('.dropdownlink').hasClass('dropdownlink--active')
if (lass)
$('.dropdownlink').removeClass('dropdownlink--active');
else if ($(this).not(this).hasClass('dropdownlink--active'))
$('.dropdownlink').removeClass('dropdownlink--active');
$(this).addClass('dropdownlink--active');
else if ($(this).hasClass('dropdownlink--active'))
$(this).removeClass('dropdownlink--active');
})
他开始对公告或接线员的预期破口大骂,我决定为每个条件添加花括号:
$('.dropdownlink').on('click', function (e) {
e.preventDefault()
let lass = $('.dropdownlink').hasClass('dropdownlink--active')
if (lass) {
$('.dropdownlink').removeClass('dropdownlink--active');
}
else if ($(this).not(this).hasClass('dropdownlink--active')) {
$('.dropdownlink').removeClass('dropdownlink--active');
$(this).addClass('dropdownlink--active');
}
else if ($(this).hasClass('dropdownlink--active')) {
$(this).removeClass('dropdownlink--active');
}
})
停止了咒骂,但也完全停止了工作,有人能注意到错误吗,我能做错什么?
在第一个示例中,行
$(this).addClass('dropdownlink--active');
在两种情况下都执行(if/else(。
然后,你的代码应该是这样的:
$('.dropdownlink').on('click', function(e) {
e.preventDefault()
let lass = $('.dropdownlink').hasClass('dropdownlink--active')
if (lass) {
$('.dropdownlink').removeClass('dropdownlink--active');
$(this).addClass('dropdownlink--active');
} else if ($(this).not(this).hasClass('dropdownlink--active')) {
$('.dropdownlink').removeClass('dropdownlink--active');
$(this).addClass('dropdownlink--active');
} else if ($(this).hasClass('dropdownlink--active')) {
$(this).removeClass('dropdownlink--active');
}
})