You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JQuery根据键名获取JSON值并结合HTML属性实现翻译

问题解决:通过translate属性匹配JSON获取翻译值

你的代码核心问题在于JSON中每个键对应的值是数组类型,而非单个对象,直接访问val.ed无法获取到目标值,需修正数组访问逻辑;同时可优化代码效率,无需遍历整个JSON对象。


完整实现代码

JSON文件 (language.json)

{
  "open": [
    {
      "en": "Open",
      "ed": "Opened"
    }
  ],
  "close": [
    {
      "en": "Close",
      "ed": "Closed"
    }
  ]
}

HTML代码

<p translate="open"></p>

修正后的jQuery代码

var $word = $("p");
var translateKey = $word.attr("translate"); // 获取元素的translate属性值

$.getJSON('language.json', function(data) {
    // 直接通过键名定位目标数据,无需遍历整个对象
    if (data[translateKey]) {
        // 访问数组第一个元素的ed属性
        $word.html(data[translateKey][0].ed);
    }
});

关键优化点

  • 移除冗余的$.each遍历,直接通过键名data[translateKey]访问目标数据,提升执行效率
  • 修正数组访问逻辑:data[translateKey][0].ed,适配JSON中数组嵌套对象的结构
  • 变量名语义化调整,增强代码可读性

内容的提问来源于stack exchange,提问作者TEN_KUNG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 05:06:25