Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JQuery函数w/each转换为vanilla JS_Javascript_Jquery_Each - Fatal编程技术网

Javascript 将JQuery函数w/each转换为vanilla JS

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')])

我需要一些帮助。我正在使用一个带有JQuery和JSON的多语言静态站点,但我希望使用带有简单JS的多语言静态站点。大部分代码已经完成,但我无法成功解析JS的注释部分(w/JQuery,它工作得很好)

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很可能有效。请让代码段运行抱歉,我重新整理了我的问题,谢谢你的帮助!