2013-10-03 112 views
0

我已經從一些關於第一個較大的字母主題的研究中構建了該腳本。它的功能是允許首字母跨度類應用於特定的類(頁面標題),並且它的工作非常好 - 即用span類首字母包裝每個首字母,這使我可以標題中每個單詞的第一個字母大於CSS(我已經通過CSS爲課程打開了capitilize)。我一直在努力完成的事情是,在正則表達式中添加一個單詞,縮寫或其他3-4個字母的術語列表,以便這個列表中的任何單詞都包含一個首字母類。這是我迄今爲止的代碼。我已經在尋找一個解決方案,但RegEx很難理解我的想法。由於Reg表達式包括單詞列表

var elements = document.getElementsByClassName("entry-title") 
    for (var i=0; i<elements.length; i++){ 
     elements[i].innerHTML = elements[i].innerHTML.replace(/\b([a-z])([a- z]+)?\b/gim, "<span class='first-letter'>$1</span>$2") 
    } 

這裏是我已經開始http://jsfiddle.net/5Sgve/38/

回答

0

如果你有話數組的小提琴,簡稱words = ["share", "link" ... ],你得到這樣regex = new RegExp("([a-zA-Z])(" + words.join("|") + ")", "gi");

正則表達式請參見本的jsfiddle:http://jsfiddle.net/5Sgve/

+0

我一直在玩你所做的小提琴,但無法得到這個工作。我以一個如何工作的例子開始了一個小提琴。基本上MD&FN-P將是列表中的單詞。無論列表中的任何單詞/縮寫都將是RED&LARGER。 (即在他們周圍有第一個字母的span類)。我不想讓任何 -/*或其他字符獲得第一個字母類,只是實際的字母。 (即,A-Z,a-z)。謝謝。 –

0

好吧,我得到它的工作。謝謝您的幫助!這裏是更新的小提琴任何人有興趣完成這一點。

@ jsfiddle.net/5Sgve/421/

+0

它看起來不像是實際使用數組? http://jsfiddle.net/5Sgve/422/ – thgaskell

相關問題