0
Ich versuche, alle Instanzen von Text in einem HTML-Dokument in Titel-Case zu ändern. Der jQuery-Code funktioniert hier nur für ein einziges Auftreten.Konvertieren von Text in Titel-Case rekursiv mit jQuery
Wie kann dies gemacht werden, um rekursiv zu arbeiten? :
var ele = $('h3');
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();
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<h3>THE QUICK BROWN FOX IS ABOUT TO JUMP OVER THE FENCE</h3>
<h3 style="color: red;">HELLO THERE</h3>
Wow. Vielen Dank! Es funktioniert \ o / –