2012-03-30 12 views
0

イメージの幅をつかんで変数に格納してから、イメージを削除します。イメージを削除した後、変数の値は0に戻ります。この値を固定する方法やそれを達成する別の方法はありますか?ここで要素が削除されたときにJquery変数の値が失われる

が混乱のためにいくつかのコードです:たぶん

bgWidth = $('#widthContainer img').width(); 

    alert(bgWidth); // value equals the image's width 
$('widthContainer').empty(); 
    alert(bgWidth); // value equals now equals 0 
+2

jsFiddleに例を投稿できますか? – j08691

+0

'$( 'widthContainer')。empty();'は要素をクリアしませんが、 '$( 'widthContainer')。 – Engineer

+0

私のためにうまく働いています - http://jsbin.com/ofifuk/7/。どのブラウザを使用していますか?私はSafariを調べました。 –

答えて

5

あなたはbgWidth = ...varを逃している、あなたは$('widthContainer')#を逃しています第2行目と第4行目の両方に;がありません。

http://jsfiddle.net/B6RGJ/

var bgWidth = $('#test #sub').attr('id'); 

alert(bgWidth); // value equals the image's width 
$('#test').empty(); 
alert(bgWidth); // value equals now equals 0 

は、私がここで画像の幅の代わりにdiv要素のIDを使用しています(Firefoxで)予想通り、それらの変更と

が、これは動作しますが、あなたが保管されている場合、それは問題ではないはずそれを変数に入れます。

+0

私はこの質問を投稿する前に、(投稿を含む)すべてを見直しておくべきでした。変数は、他の関数からアクセスされているため、先頭から開始されています。私はフィドルを作るときに最小限に抑え、私の問題は全体的なスクリプトの何かによって引き起こされていることを知りました。 急いで申し訳ありません。 – Dan

0

あなたは変数としてそれをしようとした場合:

alert(bgWidth); 
+0

私のせいです。私はこの投稿を本当に素早く入力して、それを文字列にしたことに気付かなかった。質問はまだ立っています。 – Dan

+0

動作しない理由はありません。変数は変数であり、空のjQueryはそれを削除しません。ターゲット要素のみが空になります。正しく書かれている(閉じているなど)場合は、イメージをもう一度チェックせずに、イメージが削除された後に変数を書き換えている限り、empty()の前後にまったく同じ値を取得する必要があります。 – adeneo

関連する問題