これに対する回答を見つけようとしましたが、変数が多すぎますので、ここで何が起こっているのか説明できる人もいらっしゃいますか。 "issuesList" idを持つdivを持つ基本的なHTMLページがあります。localStorageのjson.parseを使用しているときにinnerHTMLが機能しない
<!DOCTYPE html>
<html>
<head>
</head>
<body onload="foo();">
<div id="issuesList"></div>
<script src="main.js"></script>
</body>
</html>
これは私のmain.jsです:
function foo(){
//var issues = JSON.parse(localStorge.getItem('issues'));
var issuesList = document.getElementById('issuesList');
document.getElementById('issuesList').setAttribute("style", "color:red;")
issuesList.setAttribute("style", "color:red;");
issuesList.innerHTML = 'XYZ';
}
のlocalStorageは空であるので、それはありません '問題' を目的としています。
コメント行をコメントアウトしたままにすると、issuesList DOM要素には赤色で書かれたXYZが表示されます。それをコメント解除すると、issuesList要素は空のままです。なぜこれが起こっているのか分かりません。
また、localStorageに「issues」を追加し、foo()メソッドを再度呼び出すと、「issuesList」要素には何も表示されません。
あなたは
JSON解析行のコメントを外したままにすると、コンソールの外観はどうなりますか?任意のエラー?私の推測では、JSON.parseが失敗しているので、残りのコードは実行されていません。 – Bango
エラーにより、JSがそのトラックで効果的に停止します。あなたが 'undefined'を解析しようとしているなら、それは行います。 –