我正在构建一个完全由JavaScript组成的网站(为了好玩)。 我现在正在添加一个选项来选择一种语言,该语言会将网站的某些部分更改为该语言(大多数硬编码的单词和句子)。
我现在尝试通过将值传递给函数来执行此操作,然后执行ajax调用并根据该值和语言集检索单词/句子。
但是因为ajax是异步的,所以它不起作用。我发现了一个很好的例子,那就是我想要的,但有一个问题。
以下是小提琴代码:http://jsfiddle.net/6xhxT/5/
$('#test').text(realData);
当我使用这一行时(它在示例中被阻止)它工作得很好,但问题是我不知道我将数据放入div的id。
我像这样使用它
<div class="whatever">getWord(1)</div>
所以这个例子有效,但我现在需要把它放入div的id,但我不希望这样。我希望它与我调用函数的位置放在同一个地方。
我知道我可以使用async:false,但我不想使用它。
如果我想要的是不可能的,那么我应该使用什么,我可以使用数组或sessionStorage,但考虑到它可能需要加载数千个单词/句子,这是明智的。
答案 0 :(得分:0)
我无法真正理解你的方法是什么,但在我看来,你可以循环遍历应翻译的元素,并使用$( this )
来引用元素。
$( '.i18n' ).each( function() {
var $this = $( this );
$this.load( 'url/to/translator', { text: $this.text() } );
});