0

我根据对第一个大写字母主题的一些研究构建了这个脚本。它的作用是允许将一个跨度类的首字母应用于特定类(页面标题),并且它工作得很好 - 即用跨度类首字母包装每个首字母,这允许我制作使用 CSS 放大标题中每个单词的第一个字母(我已经通过 CSS 为该类打开了 capitilize)。我一直在尝试完成的是以某种方式将单词、缩写或其他 3-4 个字母术语的列表添加到正则表达式中,以便此列表中的任何单词都可以用一类首字母包装。这是我到目前为止的代码。我一直在寻找解决方案,但 RegEx 让我难以理解,试图弄清楚它们。谢谢

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/

4

2 回答 2

0

Ok, I got it working. Thanks for the help! Here is the updated Fiddle for anyone interested in accomplishing this.

@ jsfiddle.net/5Sgve/421/

于 2013-10-04T20:21:39.350 回答
0

如果你有一个单词数组 abbr words = ["share", "link" ... ],你会得到一个像这样的正则表达式regex = new RegExp("([a-zA-Z])(" + words.join("|") + ")", "gi");

看到这个jsfiddle:http: //jsfiddle.net/5Sgve/

于 2013-10-03T20:28:26.953 回答