jQuery:使用不同的大写标题来创建字符串

发布时间:2020-09-15 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了jQuery:使用不同的大写标题来创建字符串编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
很简单的问题,但我似乎找不到答案.

我有几个来自不同来源的HTML页面,它们的< h2>中有字符串.愚弄大写的元素.如:

< h2>该药有其他用途吗?< / h2>

我正在寻找这些常规案例,即

< h2>该药有其他用途吗?< / h2>

我开始用CSS将它们全部小写:

h2 {
  text-transform: lowercase;
}

因为我希望通过创建一个只是将第一个字母大写的函数来使用jQuery来操作它们.

所以问题是:我如何编写一个jQuery函数来大写页面上每个h2元素的第一个字母?

阅读this thread后,尝试了这个:

function capitaliseFirstLetter(string){
  return string.charAt(0).toUpperCase() + string.slice(1);
}

$('h2').each(function(){
  capitaliseFirstLetter($(this).text());
});

但它不起作用,控制台没有给我任何错误,所以我不知道什么是错的.

编辑

我在这个问题上做了一个大的疏忽.运用

text-transform:小写

这个词我小写,所以

< h2> OVERDOSE怎么办?< / h2>

成为

< h2>如果过量,我该怎么办?< / h2>

当我使用@ marcelo-biffara的解决方案时. (或者:第一个字母的CSS语法.)

现在,我是否需要使用复杂的正则表达式才能将字符串“i”大写?

编辑2

如果有两次出现“i”(例如“如果我服用太多剂量该怎么办?”),我是否需要一个循环来替换它们“I”?

解决方法

你可以做这个功能

function capitalizeMe(val){
    return val.charAt(0).toUpperCase()+val.substr(1).toLowerCase();
}

哦,也许你需要删除你的css h2规则

你可以像这样把它应用到你的h2

$('h2').each(function(){
    var str = capitalizeMe($(this).html());
    $(this).html(str);  
});


function replaceAll( text,v1,v2 ){
  while (text.toString().indexOf(v1) != -1)
      text = text.toString().replace(v1,v2);
  return text;
}

如果你想大写“i”的每个实例,你可以做这样的事情

$('h2').each(function(){
    var str = replaceAll(capitalizeMe($(this).html())," i "," I ");
    $(this).html(str);  
});

总结

以上是编程之家为你收集整理的jQuery:使用不同的大写标题来创建字符串全部内容,希望文章能够帮你解决jQuery:使用不同的大写标题来创建字符串所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!