我只是想全局翻译一些单词。我的翻译是在一个对象中,其中键是原始单词,值是翻译。 但是我无法执行我的功能,我想念什么?
jQuery(document).ready(function() {
if (window.location.href.indexOf("sv") > -1) {
var translations = {
'All': 'alla',
'Filter Members': 'Filtrera medlemar',
}
for (var key in translations) {
if (translations.hasOwnProperty(key)) {
console.log(key + " -> " + translations[key]);
$allItems = jQuery("body *").children();
$allItems.each(function() {
$this = jQuery(this);
$this.html().replace(key, translations[key]);
});
}
}
答案 0 :(得分:0)
您需要将新值传递给html()
方法。字符串是不可变的调用函数,不会更改原始字符串。
第二个问题是您正在声明全局变量。您应该使用let
或const
jQuery(document).ready(function () {
if(window.location.href.indexOf("sv") > -1) {
//CUSTOM TRANSLATIONS
var translations = {
'All' : 'alla',
'Filter Members' : 'Filtrera medlemar',
}
for (var key in translations) {
if (translations.hasOwnProperty(key)) {
console.log(key + " -> " + translations[key]);
const $allItems = jQuery("body *").children();
$allItems.each( function() {
const $this = jQuery(this);
$this.html($this.html().replace(key, translations[key]));
});
}
}