jquery - 使用 CSS 和 jQuery 将所有大写字母转换为正确的大小写

标签 jquery css

我正在尝试做与此线程类似的事情 https://stackoverflow.com/a/3471258/2117845 我想我想要像 Harmen 这样用 jquery 代码发布的东西,并说它现在是一个插件?

我所拥有的是来自数据库的所有大写标题。例如:

敏捷的棕色狐狸即将跳过栅栏

我想看起来像:

敏捷的棕色狐狸即将跳过栅栏

那么有没有一种方法可以用 CSS 和 jQuery 来转换文本并消除某些单词被制成 Proper Case?但我想我需要保持一审。就像如果我删除“the、is、to 和”,那么标题中的第一个“the”将全部小写。那么,只有当它不是第一个词时,我才能以某种方式消除那些常用词吗?

我知道很多,但我对 jQuery 不是很熟悉。是否有教程或插件可以说明如何执行此类操作。我见过很多关于如何转换全部大写文本的问题,因此解决方案可能非常有用。

最佳答案

我修改了 Greg Dean's answer in a related question. 中的代码

我最多将此算法称为有根据的猜测,因为它实际上并未评估英语大写规则。您可能需要向 noCaps 列表中添加更多单词以获得更高的准确性。

Example

JS

var ele = $('p'); 
ele.text(toProperCase(ele.text())); 

function toProperCase(str)
{
    var noCaps = ['of','a','the','and','an','am','or','nor','but','is','if','then', 
'else','when','at','from','by','on','off','for','in','out','to','into','with'];
    return str.replace(/\w\S*/g, function(txt, offset){
        if(offset != 0 && noCaps.indexOf(txt.toLowerCase()) != -1){
            return txt.toLowerCase();    
        }
        return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
    });
}

HTML

<p>THE QUICK BROWN FOX IS ABOUT TO JUMP OVER THE FENCE</p>

关于jquery - 使用 CSS 和 jQuery 将所有大写字母转换为正确的大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15126466/

相关文章:

javascript - DataTables 从服务器转换日期 JSON

javascript - 在 div 列表中的随机位置插入一个 div

html - 仍在尝试 CSS 样式目录

javascript - 标签索引在表单中不起作用

javascript - 使用jquery获取facebox div中元素的值

javascript - 从 JavaScript 创建 Bootstrap 模态框

jquery - 我应该如何将轮播指示点更改为缩略图图像?

PHP 注销脚本,框架集中有 4 个框架

html - 是否可以将 HTML 元素固定到另一个元素的底部?

html - 位置 :absolute inside position:relative doesnt work