2016-05-04 4 views
2

機能ではありません:私はエラーを取得し

onclick="tester.removeit(this);" 

ここ
TypeError: $(...).parent is not a function 

removeit: function(ele) { 

    $(ele).parent('div').fadeOut(); 
    console.log(this); 

}, 

これはどのように修正できますか?

+0

あなたはjQueryへの参照を与えましたか? CDNからjQueryをロードする場合は、 '.parent'セクションの前にオンライン – Irshu

+1

であることを確認し、' console.log(ele);を追加してください。 '' ele'はjQueryオブジェクトではないと思います。 – vaso123

+3

うまく働いています:https://jsfiddle.net/rayon_1990/ge1Lwtr6/質問が 'this'についてのものであれば、' 'this'の値は関数がどのように呼び出されるかによって決まります!_ – Rayon

答えて

1

jQueryを含めてPrototypeJSやMooToolsを含むライブラリの競合のような音がします。

これを実行すると、1つのライブラリのみがメイン識別子として$を使用できます。

<script src="jquery.js"></script> 
<script>jQuery.noConflict();</script> 
<script src="prototypejs.js"></script> 

その後、あなたはjQueryのを使用するコードで、むしろ$よりjQueryを使用します:あなたはnoConflict経由$を「解放」するためのjQueryを伝えることができ

// ... 
removeit: function(ele) { 

    jQuery(ele).parent('div').fadeOut(); 
    console.log(this); 

}, 
// ... 

かのjQueryを使用してコードのすべてを包みますargとして$を受け入れるIIFEで:

(function($) { 
    // ... 
    removeit: function(ele) { 

     $(ele).parent('div').fadeOut(); 
     console.log(this); 

    }, 
    // ... 
})(jQuery); 
関連する問題