の親DIV
の各P
タグを通過する必要のあるスクリプトを用意し、google translate APIを使用してそれぞれを翻訳します。
ユーザーはこの機能で、英語からスペイン語へのページを翻訳するためのリンクをクリックしたときに実行されるように:
function spanish() {
$(".entry-content p").each(function(){
var text = $(this).html();
google.language.detect(text, function(result) {
google.language.translate(text, "en", "es", function(result) {
if (result.translation) {
alert($(this).html()); //outputs NULL
$(this).html(result.translation); //doesn't work
}
});
});
});
}
問題がiIget内部関数へ$(this).html()
comesbackのNULLであると私は変更することはできませんよ現在の要素htmlを新しい翻訳されたテキストに変更します。
私の質問は次のとおりです。 どのようにして、現在選択されている要素をネストされた関数に渡しますか?
おかげ
今すぐ明らかになったようです。ありがとうございます。サブ質問として私はなぜ$を使用するか尋ねることができますか? var $ this = $(これ)の違いは何ですか?とvar this = $(これ); – Jamie
まあ、 'this'は予約済みのキーワードです。あなたはそれを設定して外部からアクセスすることはできません。 'var anythingElse = $(this)'はうまくいくでしょうし、あなたは自由に何でもすることができます。 '$ this'は" jQueryが 'this'をラップしたことを示すための慣例となっていますが、気に入ったものを使うことができます。 –