2016-03-30 12 views
-3

私はchangeSize()という名前の機能を持っています。次に使用するdiv/spanなどのサイズを変更したいのですが。私はそれは次の機能に使用されているのでchangeSizeは('#square')で(これを)取って代わるものと推定

function changeSize(width, height) { 
    $(this).css('height', height); 
    $(this).css('width', width); 
} 

$('#square').changeSize(200, 200); 

- しかし、それはあなたのchangeSize機能は上の方法ではありませんではない

+6

'changeSize'は単なる関数であり、jqueryオブジェクト – PeeHaa

+1

"関数の隣 "とは関係ありません。 $(this)はイベントスコープに依存します –

+0

関数とメソッドはそのようには動作しません。 'changeSize.call($( '#square')。get(0)、200、200);'しかし、jQueryを拡張するだけでよいのです。 https://jsfiddle.net/obwLj7kq/ –

答えて

4

ん:ここに私のコードですjQueryオブジェクト要素をパラメータとして渡す必要があります。

function changeSize(element, width, height) { 
    element.css('height', height); 
    element.css('width', width); 
} 

changeSize($('#square'), 200, 200); 
+0

'changeSize'がイベントリスナーから呼び出された場合、' $(this) 'はイベントを呼び出した要素に適用されます。 –

+0

@SterlingArcherもちろん、OPはイベントのトリガーについて何も言及していませんでした – Guy

関連する問題