2

なぜこれがエラーを返すのか分かりません

        if((("#panel").is(':visible') && elm.length==0)||((("#panel").is(':hidden') && elm.length>0))){
            showSubMenu()
        }

("#panel")。isは関数ではありません???

誰かが私にこれがエラーを引き起こす理由の論理を説明できますか?繰り返さないように?

4

5 に答える 5

8

"#panel"文字列です。
文字列にはメソッドがありません.is()

おそらく$、jQueryオブジェクトを作成するために呼び出す必要があります。

于 2012-12-06T21:40:02.180 に答える
3

jQueryオブジェクト$がありません。これを試してください:

 if(($("#panel").is(':visible') && elm.length==0)||(($("#panel").is(':hidden') && elm.length>0))){
        showSubMenu()
    }
于 2012-12-06T21:41:01.760 に答える
2

jQuery関数表記で試してみてください。

if(($("#panel").is(':visible') && elm.length==0)||((("#panel").is(':hidden') && elm.length>0))){
            showSubMenu()
        }
于 2012-12-06T21:40:32.097 に答える
2

$記号を忘れました。

試す

if(($("#panel").is(':visible') && elm.length==0)||((("#panel").is(':hidden') && elm.length>0))){
            showSubMenu()
        }
于 2012-12-06T21:42:27.067 に答える
1

$セレクターの前にjQuery-function--call(の形式で最もよく使用されます)を配置するのを忘れました

$('#panel').is(':visible')

これ'#panel'がないと、jQuery要素ではなく文字列になります。次に、jQuery-elementsを.is使用すると、そのような関数を呼び出すことができます。これは、Stringオブジェクトにはないため、エラーが発生します。

于 2012-12-06T21:40:53.247 に答える