我在页面上的段落元素(有些出现不止一次)中有一些最多 24 个法语数字作为文本,我想浏览它们并将相关的英文翻译添加为标题属性。我有一个解决方案,但我认为它不是最有效的,所以我只是在寻找一些帮助来写一些更简洁的东西,如果可能的话,并且对你的解决方案感兴趣。
谢谢
我在页面上的段落元素(有些出现不止一次)中有一些最多 24 个法语数字作为文本,我想浏览它们并将相关的英文翻译添加为标题属性。我有一个解决方案,但我认为它不是最有效的,所以我只是在寻找一些帮助来写一些更简洁的东西,如果可能的话,并且对你的解决方案感兴趣。
谢谢
创建一个翻译对象,其中key
是法语数字,value
是英语翻译。
var translations = {
"un" : "one",
"deux" : "two",
...
};
$('.demonstration [class*="col"] p').each(function () {
var $this = $(this);
$this.attr('title', translations[$this.text().replace(/\s+/g, '')]);
});
改用数组和对象:
var myTitles = { vingtquatre : 'twenty four', vingtdeux: 'twenty two' }; // add your other keys and values here in that same format, no matter what the order is inside.
$(this).attr('title', myTitles[$(this).text().replace(/\s+/g, '')]);
您可以定义一个列表:
var nums = { 'un': 'one', 'deux': 'two', ... }
然后,替换switch
为:
$(this).attr('title', nums[$(this).text().replace(/\s+/g, '')] || null);
请注意,|| null
当数字不在列表中时,即它的作用default
类似于switch