更新
为了实现上面的排版,我将不得不使用一些jquery / css技巧。
首先,我必须创建一个类.underlined
来设置背景图像,以完全控制下划线。 不幸的是,只设置一个border-bottom,不会完成这项工作,因为它会使用字体的x高度。
其次,我必须找到特定字符,例如字符串中的小写g ,然后移除.underlined
类或为该特定类别应用其他类字符。
现在我如何匹配字符串中的g,j,p,q,y并在其上应用一个类?
它应该与此类似,但是然后使用reg exp或者什么?
我尝试了:contains
选择器,但我无法拆分字符串并将其重新组合在一起。
答案 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(''));
});