Jquery在字符串中查找字符并应用自定义类

时间:2013-06-09 14:42:03

标签: jquery css regex string

Typographic challenge

更新

为了实现上面的排版,我将不得不使用一些jquery / css技巧。

首先,我必须创建一个类.underlined来设置背景图像,以完全控制下划线。 不幸的是,只设置一个border-bottom,不会完成这项工作,因为它会使用字体的x高度。

其次,我必须找到特定字符,例如字符串中的小写g ,然后移除.underlined类或为该特定类别应用其他类字符。

现在我如何匹配字符串中的g,j,p,q,y并在其上应用一个类?

它应该与此类似,但是然后使用reg exp或者什么?

http://jsfiddle.net/hMEHB/2/

我尝试了:contains选择器,但我无法拆分字符串并将其重新组合在一起。

1 个答案:

答案 0 :(得分:2)

在小提琴中使用标记,我相信你想要这样的东西:

var descenders = {"g": true, "j": true, "p": true, "q": true, "y": true};
$('a').each(function (i, elem) {
    var self = $(elem),
        textNodes = self.text().split(''),
        i = 0;
    for (i = 0; i < textNodes.length; i += 1) {
        if (descenders[textNodes[i]]) {
            textNodes[i] = '<span class="descender">' + textNodes[i] + '</span>';
        } else {
            textNodes[i] = '<span class="underline">' + textNodes[i] + '</span>';
        }
    }
    self.html(textNodes.join(''));
});

更新了小提琴:http://jsfiddle.net/hMEHB/15/