javascript - 我可以将 HTML 元素的文本绑定(bind)到字符串对象吗?

标签 javascript jquery web-applications localization string-table

我正在使用 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/

相关文章:

java - 加载 *.so 文件到 Websphere

javascript - 滚动条因背景图片而消失

javascript - 在 JavaScript 中定义类

javascript - Firefox 和 Opera 中的父 div 宽度为 0,即使我有 child

jquery - Ratyrate 星星未在生产中加载(heroku)

web-applications - 将 Google Web Toolkit 用于类似 Web 应用程序的桌面?

javascript - SVG 到 PNG 不带宽度属性

asp.net-mvc-3 - 如何将强类型模型作为数据参数传递给jquery ajax post?

javascript - 结合jQuery的parent()和add()来同时作用于element和parent

java - 谁在 Spring MVC (@ResponseBody) 中设置响应内容类型