Просто проверьте, заглавная ли первая буква:
function changeWords() {
var spans = document.getElementsByTagName('span');
for (var i = 0; i < spans.length; i++) {
if (spans[i].innerText[0] == spans[i].innerText[0].toUpperCase()) {
spans[i].innerText = "Smurf";
} else {
spans[i].innerText = "smurf";
}
}
}
<span>Katt</span>
<br> Some stuff <span>katt</span>
<br>
<span>Katt</span> other stuff
<br>
<button onclick="changeWords()">Let the magic happen!</button>
Вы также должны использовать element.length
вместо номера с жестким кодом.Если число слишком велико или слишком мало, ваш скрипт будет глючить.
Если вы просто хотите изменить текст, вы должны использовать innerText
.
Без функции икнопка (которая только для отображения результата), код выглядит так:
for (var i = 0; i < spans.length; i++) {
if (spans[i].innerText[0] == spans[i].innerText[0].toUpperCase()) {
spans[i].innerText = "Smurf";
} else {
spans[i].innerText = "smurf";
}
}