セレクターのバグのようです:
$("abc, def, "); // or
$("<div,");
わかりません。
jQuery 1.8.3 のソース コードを見ると、4680 行付近に次の行があります。
/*LINE: 4679*/ Sizzle.error = function( msg ) {
/*LINE: 4680*/ throw new Error( "Syntax error, unrecognized expression: " + msg );
/*LINE: 4681*/ };
ここからコードをデバッグするのは難しいですが、arguments.callee.caller
直前に置くことを試みることができますthrow new Error
:
Sizzle.error = function( msg ) {
console.log( arguments.callee.caller );
throw new Error( "Syntax error, unrecognized expression: " + msg );
};
これにより、どの関数がこの関数を呼び出しているかがわかります。そこから、同じ方法で上に移動することができます。最後に、あなたの問題を見つけるでしょう。
とはarguments.callee.caller
?
arguments
関数に解析されたすべての引数を含むプロパティのような配列です。
function a() {}
a(1, 2, 3); // Inside a arguments will be: [1, 2, 3]
arguments
このプロパティcallee
には、eg という関数への参照が含まれています。それ自体:
function a() {} // arguments.callee === a.
arguments.callee
このプロパティと呼ばれる非標準 (ただし、標準であり、ECMA では記述されていない) プロパティcaller
には、実行時にそれを呼び出している関数への参照が含まれています。
function a() {
b()
}
function b() {}; // arguments.callee.caller === a;
a();
そしていくつかのドキュメント:
-オブジェクトについて知っていますconsole
か?