0

我正在构建一个完全由 JavaScript 组成的网站(为了好玩)。我现在添加了选择一种语言的选项,该语言会将网站的某些部分更改为该语言(大多数硬编码的单词和句子)。

我现在正试图通过将一个值传递给一个函数来执行此操作,该函数然后执行 ajax 调用并根据该值和语言集检索单词/句子。

但是因为 ajax 是异步的,所以它不起作用。我找到了一个很好的例子,只有那种做我想做的事,但有一个问题。

这是小提琴代码:http: //jsfiddle.net/6xhxT/5/

$('#test').text(realData);

当我使用这条线时(在示例中它被阻止)它工作得很好,但问题是我不知道我要放入数据的 div 的 id。

我这样用

<div class="whatever">getWord(1)</div>

所以这个例子有效,但我现在需要我放入的 div 的 id,但我不想要那个。我希望它与我调用该函数的位置相同。

我知道我可以使用 async: false,但我不想使用它。

如果我想要什么是不可能的,那么我应该使用什么,我可以使用数组或 sessionStorage,但考虑到它可能需要加载数千个单词/句子这一事实是否明智。

4

1 回答 1

0

我无法真正掌握您的方法是什么,但在我看来,您可以循环遍历应该翻译并用于$( this )引用该元素的元素。

$( '.i18n' ).each( function() {
    var $this = $( this );
    $this.load( 'url/to/translator', { text: $this.text() } );
});

演示:http: //jsfiddle.net/eNK9w/

于 2013-02-27T10:53:23.603 回答