●テスト●てすと
2021年09月06日
test js「記事の外で定義した関数を、記事内で使って、innerHTMLとかしたい」ちなみにalertはできた。javascript
javascript
・記事で使いたい関数を、トップページの共有部分の【上のほう】に置いたら関数は使える。
しかし、
・そこでdocument.getElementByIdで、特定のdiv id="〜"にinnerHTMLしようとしたら、
そのIDを指定したdivはないと言われる。
・試しに、共有部分の【一番下】に置いたら、「記事内で使おうとしてる関数は定義されてない」
と言われる。
この順序の問題、どう解決すればいいんだ?
これは、記事内で
div id="xx"
document.getElementById(”xx”)
とやってる場合は、
下で指定してるIDが上にあるので使える。
しかし、それを関数にしようとして
「document.getElementById(”〜〜”)」の部分を
上や下に移動するとエラーが出る。
・上ではもちろん、そのgetしようとしてるIDはない、と言われる。
(その上にはないから)
・下だと、逆に、記事で使おうとしてる関数が、まだ定義されてない、と言われる。
関数の定義は、使おうとしてる記事より、(はるか)下にあるから。
これ、なんとかする方法ないのかな?
●ちなみにalertはできた。
●記事内のidで、なにかを取得してなにかする関数じゃないから。
そうか、記事内のidをgetして、innerHTMLで書き出すやり方じゃなくて、
共有部分の上で、定義済みの関数を使うけど
書き出すのは、「関数から記事内のidを取得して、innerHTMLで書き出す」という仕組みにしなければいいのか。
●関数内じたいに、動画の埋め込みタグを持たせて、
動画URLだけ指定したら、それと結合して
もしinnerHTMLを使うとしたら、ブログ共有関数を
記事内で使うってやり方でできるかもしれない。
・その場合、記事でその関数使う場合、結局 innerHTML記述しないとダメなので
煩雑・冗長になり、jsの力でサクッと省力化という、当初の希望とはちょっと変わってしまうけど。
・まぁ遊び、試し的な勉強としてなら、実用性はともかく
やってみてもいいかもしれない。jsの動きや性質に慣れる練習にはなる。
●もしくは、関数を上と下で切り分けて記述しても無理かな
上、関数定義
中、記事でその関数を使用
下、記事内のidを取得してごにょごにょ
でも、中の記事かから、上の関数を使ってる時点で、
もう下の関数も呼び出されてる。
その時に、下の関数のコードが、ブラウザに読み込まれてなかったらどうなるんだ?
結局ダメってことなのか?
あれ、関数の定義って、同一ファイルのJSの中でも、
必ず上で記述しといて下で使わないとダメなんだっけ?
切り分けて書いたり、別ファイルにしたもその仕組みは同じなのか、
よりシビアになるのか。
上、共有部分で、alert1()定義→alerrt2()呼び出し
中、記事で、alert1()使用
下、共用部分で、alert2()定義→普通のalert()呼び出し
↓dev toolのお言葉
Uncaught ReferenceError: myAlert2 is not defined
at myAlert1
なるほど
ちなみに、jsか他の言語で
1つのファイルで、
「上で独自関数使用して、
その下で、その関数の定義書いてる」みたいなのを
見たようなやったようなことあるような気がするけど
ちゃんと動いてた気がするけど、勘違いか。
・記事で使いたい関数を、トップページの共有部分の【上のほう】に置いたら関数は使える。
しかし、
・そこでdocument.getElementByIdで、特定のdiv id="〜"にinnerHTMLしようとしたら、
そのIDを指定したdivはないと言われる。
・試しに、共有部分の【一番下】に置いたら、「記事内で使おうとしてる関数は定義されてない」
と言われる。
この順序の問題、どう解決すればいいんだ?
これは、記事内で
div id="xx"
document.getElementById(”xx”)
とやってる場合は、
下で指定してるIDが上にあるので使える。
しかし、それを関数にしようとして
「document.getElementById(”〜〜”)」の部分を
上や下に移動するとエラーが出る。
・上ではもちろん、そのgetしようとしてるIDはない、と言われる。
(その上にはないから)
・下だと、逆に、記事で使おうとしてる関数が、まだ定義されてない、と言われる。
関数の定義は、使おうとしてる記事より、(はるか)下にあるから。
これ、なんとかする方法ないのかな?
●ちなみにalertはできた。
●記事内のidで、なにかを取得してなにかする関数じゃないから。
そうか、記事内のidをgetして、innerHTMLで書き出すやり方じゃなくて、
共有部分の上で、定義済みの関数を使うけど
書き出すのは、「関数から記事内のidを取得して、innerHTMLで書き出す」という仕組みにしなければいいのか。
●関数内じたいに、動画の埋め込みタグを持たせて、
動画URLだけ指定したら、それと結合して
もしinnerHTMLを使うとしたら、ブログ共有関数を
記事内で使うってやり方でできるかもしれない。
・その場合、記事でその関数使う場合、結局 innerHTML記述しないとダメなので
煩雑・冗長になり、jsの力でサクッと省力化という、当初の希望とはちょっと変わってしまうけど。
・まぁ遊び、試し的な勉強としてなら、実用性はともかく
やってみてもいいかもしれない。jsの動きや性質に慣れる練習にはなる。
●もしくは、関数を上と下で切り分けて記述しても無理かな
上、関数定義
中、記事でその関数を使用
下、記事内のidを取得してごにょごにょ
でも、中の記事かから、上の関数を使ってる時点で、
もう下の関数も呼び出されてる。
その時に、下の関数のコードが、ブラウザに読み込まれてなかったらどうなるんだ?
結局ダメってことなのか?
あれ、関数の定義って、同一ファイルのJSの中でも、
必ず上で記述しといて下で使わないとダメなんだっけ?
切り分けて書いたり、別ファイルにしたもその仕組みは同じなのか、
よりシビアになるのか。
上、共有部分で、alert1()定義→alerrt2()呼び出し
中、記事で、alert1()使用
下、共用部分で、alert2()定義→普通のalert()呼び出し
↓dev toolのお言葉
Uncaught ReferenceError: myAlert2 is not defined
at myAlert1
なるほど
ちなみに、jsか他の言語で
1つのファイルで、
「上で独自関数使用して、
その下で、その関数の定義書いてる」みたいなのを
見たようなやったようなことあるような気がするけど
ちゃんと動いてた気がするけど、勘違いか。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/10950792
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック