我正在使用 jQuery 制作一个 Web 应用程序。 Web 应用程序的所有元素都是使用 jQuery ( var $header = $("<div>");
) 创建的。我已经有一个名为 stringtables 的对象,其中有名为“no”、“en”等的子对象。
在页面加载时,将加载默认值,并将其中的字符串用于我所有元素中的文本。有什么方法可以将所有元素绑定(bind)到字符串表,这样当我切换字符串表时,网站上的所有文本都会随之改变?
我希望在不重新加载页面的情况下更改应用程序语言。
最佳答案
不,你不能。您应该手动创建并调用更新函数,将元素的内容更改为新的内容。
例如:
// function to set new strings to elements' contents
function setLang(langStrings) {
$.each(langStrings, function(elemId, elemText) { $('#'+elemId).text(elemText) });
}
// function to load language by name
function loadLang(langName) {
$.getJSON('/lang/' + langName + '.json', setLang);
}
// loading default language
$(function() { loadLang('default') });
关于javascript - 我可以将 HTML 元素的文本绑定(bind)到字符串对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6523980/