我可以绑定我的 HTML 元素吗?文本到字符串对象?

发布于 2024-11-18 00:13:33 字数 292 浏览 3 评论 0原文

我正在使用 jQuery 制作一个 Web 应用程序。 Web 应用程序的所有元素都是使用 jQuery 创建的 (var $header = $("

");)。我已经有一个名为 stringtables 的对象,其中有名为“no”、“en”等的子对象。

在页面加载时,将加载默认值,并将其中的字符串用于所有元素中的文本。有什么方法可以将所有元素绑定到字符串表,这样当我切换字符串表时,网站上的所有文本都会随之改变?

我希望在不重新加载页面的情况下更改应用程序语言。

I'm making a web application using jQuery. All the elements of the web applications are created using jQuery (var $header = $("<div>");). I already have an object called stringtables where I have sub-objects called "no", "en" etc.

On page load the default is loaded and strings from it used for the text in all my elements. Is there any way I can tie all the elements to the string table, so when I switch string tables all the text on the website will change with it?

I want the application language to be changed without the page reloading.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

澜川若宁 2024-11-25 00:13:33

不,你不能。您应该手动创建 &调用更新函数将元素的内容更改为新的内容。

例如:

// 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') });

No, you can't. You should manually create & call update function that will change contents of elements to new ones.

For example:

// 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') });
一个人的夜不怕黑 2024-11-25 00:13:33

您愿意使用其他类型的技术吗?如果是这样, angularjs 似乎正是您所需要的。

Are you open to using other types of technologies? If so, angularjs seems like exactly what you need.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文