現在、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要素のクラスを変更したい:私は使用していたコードは以下のとおりです。グローバル変数値は常にfalseのままです。
文書の準備が整う前にグローバル変数を関数外に宣言しようとしましたが、同じ問題があります。 私は何が間違っていますか?
Btw、あなたのコードは 'window.open'メソッドを上書きしています。ローカル変数を使用する方が良い。 – Bergi
.addClassは、置換を行うのではなく、追加します。 $(this).removeClass( 'fa-minus-circle fa-plus-circle')。addClass(...) – Wizard