Nir Azuelos が答えの一部を提供します。実際、挿入時にこのコードが機能するには、jQuery など、この API を実装する何かが必要です。(Zepto はおそらく動作します)
Chrome コンソールで機能する理由は、開発者にとって便利なように、Chrome がコンソール自体で (とりわけ) を定義$
しているためです。$$
コンソールに入力して出力として$
表示される場合は、ページ自体で定義されていないことを意味します。したがって、ページ内のスクリプトでは使用できません。function $() { [Command Line API] }
$
Chrome コンソールで提供される $ 関数は、jQuery で提供される $ 関数とはまったく異なる動作をすることに注意してください。Chrome コンソールでは、$ (デフォルト) は のような動作にマッピングされますdocument.querySelector
。ドキュメントについては、 https://developers.google.com/chrome-developer-tools/docs/consoleを参照してください。
現在のページに jQuery が読み込まれていない場合、Chrome の JS コンソールで jQuery 構文を使用できるのはなぜですか?も参照してください。
また、単純なスクリプトのみを挿入する場合は、jQuery の使用を完全に回避できる場合があります。原則として、を呼び出す前に に置き換えるか、 に代入する$
と、コードは機能します。document.querySelector
document.QuerySelector
$
$
"function TestClick() { document.querySelector('" + testElement + "').click() }";
ネイティブ DOM API と jQuery には大きな違いがあるため、どちらを使用するかを決定する必要があります。