gpt4 book ai didi

jQuery:制作具有不同大小写标题大小写的字符串

转载 作者:技术小花猫 更新时间:2023-10-29 11:54:59 25 4
gpt4 key购买 nike

很简单的问题,但我似乎找不到答案。

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

<h2>Are there OTHER USES for this medicine?</h2>

我希望将这些常规句子大小写,即,

<h2>Are there other uses for this medicine?</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: lowercase

把我变成小写,所以

<h2>What should I do in case of OVERDOSE?</h2>

成为

<h2>What should i do in case of overdose?</h2>

当我使用@marcelo-biffara 的解决方案时。 (或 :first-letter 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:制作具有不同大小写标题大小写的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13750910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com