我有一个CSS课
.uppercase:hover { text-transform: uppercase; }
因此,每当我使用它时,文本都会转换,但是在少数情况下,我希望其中的某些文本不大写。 (取消
.uppercase:hover
)。例如:Abc cake smurf cafe Zzz
-> ABC CAKE smurf CAFE ZZZ
我想使用JavaScript而不是CSS来做到这一点。
更新:
Abc cake (smurf) cafe Zzz
-> ABC CAKE smurf CAFE ZZZ
最佳答案
在回答您对问题的最后评论时:是的,如果您可以使用一些保留字符,则可以轻松完成此任务:
http://jsfiddle.net/LH7sy/8
<a class="uppercase" href="#">everything uppercase, except (this) word</a>
$(document).ready(function () {
$('.uppercase').each(function() {
var end = false;
var s = $(this).html();
while(end == false) {
var p1 = s.indexOf('(');
var p2 = s.indexOf(')');
if (p1 != -1) { /* if '(' is found in the string */
var result = s.substring(0,p1);
result += '<span style="text-transform:none">';
result += s.substring(p1+1,p2);
result += '</span>'
result += s.substr(p2+1);
s = result;
} else {
end = true;
}
}
$(this).html(result);
})
})
关于javascript - 在悬浮元素中覆盖悬浮样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8492791/