回答編集履歴

3

追記

2020/08/08 05:34

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

test CHANGED
@@ -130,11 +130,13 @@
130
130
 
131
131
  // DOM 操作で HTMLに挿し込み
132
132
 
133
- document.getElementById("NowDate").innerHTML = now.date; // Error
133
+ document.getElementById("NowDate").innerHTML = now.date; // Errorで中断
134
134
 
135
135
  // => Uncaught TypeError: Cannot set property 'innerHTML' of null
136
136
 
137
- document.getElementById("NowDate2").textContent = now.datetime;
137
+ document.getElementById("NowDate2").textContent = now.datetime; // 実行されない
138
+
139
+ // => NowDate2 の表示(HTMLへの挿し込み)もない。
138
140
 
139
141
  ```
140
142
 
@@ -154,11 +156,23 @@
154
156
 
155
157
  // ご質問内の target を使う場合
156
158
 
159
+ target = document.getElementById("NowDate");
160
+
161
+ if( target !== null ) { // null(プリミティブ)はプロパティを持たない
162
+
163
+ target.innerHTML = now.date;
164
+
165
+ }
166
+
167
+ /*
168
+
157
169
  if( target = document.getElementById("NowDate") ) {
158
170
 
159
171
  target.innerHTML = now.date;
160
172
 
161
173
  }
174
+
175
+ */
162
176
 
163
177
 
164
178
 
@@ -166,4 +180,8 @@
166
180
 
167
181
  (document.getElementById("NowDate")||{}).innerHTML = now.date;
168
182
 
183
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
184
+
185
+ // HTMLDivElement or Object なので、プロパティを指定できる
186
+
169
187
  ```

2

追記

2020/08/08 05:34

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

test CHANGED
@@ -141,3 +141,29 @@
141
141
 
142
142
 
143
143
  開発者コンソールは コードを変更する毎に確認してください
144
+
145
+
146
+
147
+ 追記)
148
+
149
+
150
+
151
+ 参照できない要素がある場合、無視できるようなコードにします。
152
+
153
+ ```javascript
154
+
155
+ // ご質問内の target を使う場合
156
+
157
+ if( target = document.getElementById("NowDate") ) {
158
+
159
+ target.innerHTML = now.date;
160
+
161
+ }
162
+
163
+
164
+
165
+ // null のときに ダミーオブジェクト {} とする例
166
+
167
+ (document.getElementById("NowDate")||{}).innerHTML = now.date;
168
+
169
+ ```

1

追記

2020/08/07 04:49

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

test CHANGED
File without changes