Javascript 将JQuery函数w/each转换为vanilla JS
我需要一些帮助。我正在使用一个带有JQuery和JSON的多语言静态站点,但我希望使用带有简单JS的多语言静态站点。大部分代码已经完成,但我无法成功解析JS的注释部分(w/JQuery,它工作得很好)Javascript 将JQuery函数w/each转换为vanilla JS,javascript,jquery,each,Javascript,Jquery,Each,我需要一些帮助。我正在使用一个带有JQuery和JSON的多语言静态站点,但我希望使用带有简单JS的多语言静态站点。大部分代码已经完成,但我无法成功解析JS的注释部分(w/JQuery,它工作得很好) var语言,翻译,jsData; //以下是JQuery中被质疑的部分 translate=函数(jsdata){ $('[block]')。每个(函数(索引){ var-strTr; strTr=jsdata[$(this.attr('block')][$(this.attr('txt')])
var语言,翻译,jsData;
//以下是JQuery中被质疑的部分
translate=函数(jsdata){
$('[block]')。每个(函数(索引){
var-strTr;
strTr=jsdata[$(this.attr('block')][$(this.attr('txt')]);
$(this.html(strTr);
});
};
document.querySelector(“a#hu”).addEventListener(“单击”,(e)=>{
//getJson('hu');
jsData={
“1.md”:{
“标题”:“teszt 1”,
“身体”:“Szia Világ!”
},
“2.md”:{
“标题”:“teszt 2”,
“身体”:“Szia Világ megint!”
}
}
翻译()
});
document.querySelector(“a#en”).addEventListener(“单击”,(e)=>{
//getJson('hu');
jsData={
“1.md”:{
“标题”:“测试1”,
“body”:“你好!”
},
“2.md”:{
“标题”:“测试2”,
“body”:“你好,又来了!”
}
}
翻译()
});代码>
胡
EN
请阅读评论
[...document.querySelectorAll("[block]")]
.forEach(block => block.innerHTML = jsData[block.getAttribute("block")][block.getAttribute("txt")]);
let语言,jsData;
//以下是JQuery中被质疑的部分
常量翻译=()=>{
[…document.queryselectoral(“[数据块]”).forEach(
块=>
block.innerHTML=jsData[block.getAttribute(“数据块”)][block.getAttribute(“数据txt”)]
);
};
document.querySelector(“a#hu”).addEventListener(“单击”,(e)=>{
//getJson('hu');
jsData={
“1.md”:{
“标题”:“teszt 1”,
“身体”:“Szia Világ!”
},
“2.md”:{
“标题”:“teszt 2”,
“身体”:“Szia Világ megint!”
}
}
翻译()
});
document.querySelector(“a#en”).addEventListener(“单击”,(e)=>{
//getJson('hu');
jsData={
“1.md”:{
“标题”:“测试1”,
“body”:“你好!”
},
“2.md”:{
“标题”:“测试2”,
“body”:“你好,又来了!”
}
}
翻译()
});代码>
胡
EN
请发布您所做的尝试。还请注意,block
和txt
不是任何HTML元素中的标准属性。我建议改为使用数据
属性,如果您想向DOM添加自定义元数据,请同意上面的说法,但更进一步,只需使用ID(如果只有1个元素)/类(多个元素)并使用document.getElementBy,然后只需使用标准的forEach?你面临什么样的“问题”?我在一个代码片段中更新了你的代码。你的AJAX很可能有效。请让代码段运行抱歉,我重新整理了我的问题,谢谢你的帮助!