OMG...「jQuery Library」と「getElementById」だけの問題ではありません。
確かに、jQuery はクロスブラウザーの問題を脇に置くのに役立ちますが、JavaScript を十分に理解していれば、ライブラリーを使用しない従来の方法を使用しても問題なく動作します!!!
@MárÖrlygssonと@DarrylHeinの両方が、前者が従来の方法を使用し、後者がjQueryの方法を使用した、優れた代替手段(私は、それらは単なる代替手段であり、アンサーではないと言いたい)を提供しました。しかし、あなたは本当にあなたの問題に対する答えを知っていますか? コードの何が問題になっていますか?
まず、.click
jQuery の方法です。従来の方法を使用する場合は、代わりに .onclick を使用してください。または、混乱する場合に備えて、jQuery のみを使用することを集中して学習することをお勧めします。jQuery は、DOM を十分に理解していなくても使用できる優れたツールです。
2 番目の問題は、これも重大な問題new function(){}
ですが、構文が非常に悪い、または構文が間違っているということです。
jQuery を使用するかどうかに関係なく、それを明確にする必要があります。
関数を宣言する基本的な方法は 3 つあります。
function name () {code}
... = function() {code} // known as anonymous function or function literal
... = new Function("code") // Function Object
JavaScript では大文字と小文字が区別されるためnew function()
、JavaScript の標準構文ではないことに注意してください。ブラウザが意味を誤解している可能性があります。
したがって、コードは 2 番目の方法を使用して変更できます。
= function(){alert();}
または、3番目の方法を次のように使用します
= new Function("alert();");
詳しく説明すると、2 番目の方法は 3 番目の方法とほぼ同じように機能し、2 番目の方法は非常に一般的ですが、3 番目の方法はまれです。どちらの最良の回答も 2 番目の方法を使用しています。
ただし、「ランタイム」と「コンパイル時間」のために、3 番目の方法は 2 番目の方法ではできないことを行うことができます。new Function()
時々役立つことを知っていただければ幸いです。を使用して問題に遭遇しfunction(){}
た日は、 を忘れないでくださいnew Function()
。
さらに理解するには、O'Reilly の << JavaScript: The Definitive Guide, 6th Edition >> を読むことをお勧めします。