如何根据messages.json中的键Javascript访问对象
对象是如何根据messages.json中的键Javascript访问对象,javascript,jquery,json,internationalization,Javascript,Jquery,Json,Internationalization,对象是 var dict = {}; function loadDict() { var lang = (getCookieVal("lang") || "en"); $.ajax({ async: false, type: "GET", url: "/lang/"+lang + ".json", success: function (msg) { dict = msg; sessionStorage.setItem(lang
var dict = {};
function loadDict() {
var lang = (getCookieVal("lang") || "en");
$.ajax({
async: false,
type: "GET",
url: "/lang/"+lang + ".json",
success: function (msg) {
dict = msg;
sessionStorage.setItem(lang + 'Data', JSON.stringify(dict));
}
});
}
console.log(dict)代码>将为您提供
tabLanding:{message: "Landing"}
tabSetup:{message: "Setup"}
__proto__:Object
在我的html上:
<li class="tab_setup"><a href="#" i18n="tabSetup"></a></li>
现在显示的是【object object】而不是landing………..在jQuery中对要添加“landing”的元素使用.html()
。这将把括号内的内容放在目标元素的标记之间
我猜您希望在锚定标记中添加“landing”:
您还可以使用dict.tabLanding.message
访问字典中的“landing”
因此,如果您希望这样做,您可以执行以下操作:
$('.tab_setup').find('a').html(dict.tabLanding.message)
因此,您可以这样使用:
var dict = {};
function loadDict() {
var lang = (getCookieVal("lang") || "en");
$.ajax({
async: false,
type: "GET",
url: "/lang/"+lang + ".json",
success: function (msg) {
dict = msg;
sessionStorage.setItem(lang + 'Data', JSON.stringify(dict));
$('.tab_setup').find('a').html(dict.tabLanding.message); // Add "landing" to anchor tag inside the element with the class tab_setup
}
});
}
你可以用和这样试一下。这里还可以看到如何访问javascript中的嵌套对象
var dict={tabLanding:{message:“Landing”}
var anchor=document.querySelector('li a');
anchor.innerHTML=dict.tabLanding.message代码>
JS-Bin
您是否尝试过这样的console.log(dict.tabLanding.message)代码>
var dict = {};
function loadDict() {
var lang = (getCookieVal("lang") || "en");
$.ajax({
async: false,
type: "GET",
url: "/lang/"+lang + ".json",
success: function (msg) {
dict = msg;
sessionStorage.setItem(lang + 'Data', JSON.stringify(dict));
$('.tab_setup').find('a').html(dict.tabLanding.message); // Add "landing" to anchor tag inside the element with the class tab_setup
}
});
}