我有一个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/

10-09 16:59