我目前在更改JavaScript函數中的全局變量值時遇到了問題。我使用的代碼如下:在JavaScript中更改全局變量的問題
<script>
var open = false;
$('.header').click(function() {
$(this).find('span').text(function (_, value) {
alert(open);
if (open == false) {
$(this).addClass('fa fa-minus-circle');
open == true;
} else {
$(this).addClass('fa fa-plus-circle');
open == false;
}
/*return value == '+' ? '-' : '+' */
});
$(this).nextUntil('tr.header').slideToggle(100, function() {
});
});
</script>
我想改變類span元素的每次我一下就可以了(開/關),但它只是改變了類第一時間和全局變量值總是保持錯誤。
我試圖在文檔準備好之前在函數外部聲明全局變量,但仍然存在相同的問題。 我在做什麼錯?
順便說一句,你的代碼覆蓋'window.open'方法。更好地使用局部變量。 – Bergi
而.addClass不會替換,而是附加。你應該使用這樣的:$(this).removeClass('fa-minus-circle fa-plus-circle')。addClass(...) – Wizard