私は知恵が尽きており、おそらくそれは本当に単純なことです。基本的に私はこのコードを持っています:
var menuitem = document.getElementById('mymenuitem');
alert(menuitem);
alert(varImChecking == null);
menuitem.setAttribute('disabled', (varImChecking == null) ? 'true' : 'false');
「mymenuitem」メニュー項目を無効にする必要がありますが、効果はありません。実行すると、アラートは '[Object XulElement]' の後に 'true' を表示します。menuitem変数へのonclickバインディングが機能するため、getElementByIdが正しいmenuitem要素を選択していることはわかっています。
私が試したいくつかの代替案:
menuitem.setAttribute('disabled', (varImChecking == null));
menuitem.disabled = (varImChecking == null);
では、setAttribute が効果を発揮しないのはなぜでしょうか。メニュー項目がグレーアウトすることさえありません。これを行う別の方法はありますか?
編集: 言い忘れましたが、コンソールに警告やエラーは表示されません。