我有一些法語數字最多爲24作爲段落元素中的文本(有些出現多次),我想通過它們並添加相關的英語翻譯爲標題屬性。我有一個解決方案,但我不認爲它是最高效的,所以我只是尋找一些幫助來寫一些更好的東西,如果可能的話,並且對你的解決方案感興趣。使用javascript/jQuery爲元素添加標題的最有效方法
感謝
我有一些法語數字最多爲24作爲段落元素中的文本(有些出現多次),我想通過它們並添加相關的英語翻譯爲標題屬性。我有一個解決方案,但我不認爲它是最高效的,所以我只是尋找一些幫助來寫一些更好的東西,如果可能的話,並且對你的解決方案感興趣。使用javascript/jQuery爲元素添加標題的最有效方法
感謝
創建一個翻譯對象,其中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 nums = { 'un': 'one', 'deux': 'two', ... }
,然後替換switch
本:
$(this).attr('title', nums[$(this).text().replace(/\s+/g, '')] || null);
注意|| null
是當數不在列表即它就像default
部分switch
使用A rrays和Objects代替:
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, '')]);
如何當數字不在列表中?我的答案使用'||空'來彌補這一點。 – alijsh 2013-02-15 10:36:55
@alijsh如果該數字不在列表中,則嘗試訪問它將返回「未定義」,並且不會設置標題屬性。 – 2013-02-15 10:59:18