2016-04-26 6 views
-1

私はGoogle翻訳を使用しており、少し変更しています。今私は奇妙な問題を抱えています。それは動作しません。JavaScriptは幅を変更していません(Googleウェブサイトの翻訳あり)

のJavaScriptコード

<div class="google-t"> 
    <div id="google_translate_element"> 
    <div class="skiptranslate goog-te-gadget" dir="ltr"> 
     <div id=":0.targetLanguage" class="goog-te-gadget-simple" style="white-space: nowrap;"> 
     </div> 
    </div> 
    </div> 
</div> 

が、私はそれが動作コンソールで同じコードを置く場合

var setWidthgoog = $(".goog-te-gadget-simple").width(); 
$(".google-t").css({"width": (setWidthgoog) + 'px'}); 

HTMLコード... enter image description here

思考?

GoogleがIM参照元を翻訳は、この(ウェブサイトのプラグイン)私はプラグインが唯一のおよそ10mlの液体フッ化水素を圧入した後に呼び出されることを発見War10ckへ http://translate.google.com/manager/website/

EDIT おかげです。 2s、とにかくそれをより速く呼び出すことができるのですか? setTimeoutと

+0

これはgoogle translateと何が関係していますか? – bhspencer

+1

settimeoutでテストすると、他のコードがオーバーライドしてコードの後に​​ある可能性があります – joyBlanks

+0

彼は彼がGoogle翻訳者 – QoP

答えて

0

テストは、多分他の何らかのコードを上書きしたいと は

あなたのコードの後に​​あるかもしれない - 実際に働いていたjoyBlanks

が!タフな私にはわからない何グーグルプラグインが私のコードの後に​​電話しているかもしれません:S

+0

それは上書きすることができます。また、ページがロードされてもタイムアウト後にコンテンツが存在しない非同期の問題である可能性があります。 '$(selector).length'はこれを判断する良い方法です。 jQueryオブジェクトは、一致するセレクタの配列を返します。一致しない場合は空の配列を返します。上記の構文を使用してこの配列のlengthプロパティをチェックして、非同期の問題を除外します。 – War10ck

+0

Googleのオブジェクト ".goog-te-gadget-simple"は、google-tクラスが1のときに0です...どういうわけか、aproxの後にオブジェクトが表示されません。 2s。 –

+0

これは非同期の問題です。あなたのスクリプトが実行されているときに要素が存在しないので、 'width'値は受け取られず、' 0'として記録されます。 – War10ck

関連する問題