Как использовать первую букву каждого слова, используя jQuery

71
11

Из URL http://www.example.com/alpha/beta мне нужно вернуть: Alpha, Beta

Следующие возвраты: альфа, бета

$(location).attr('href').split('/').slice(3, 5).join(',')

Но мне нужно, чтобы первое письмо каждого из этих слов было заглавным. Цените любой совет!

спросил(а) 2015-02-25T03:51:00+03:00 5 лет, 7 месяцев назад
1
Решение
80

Не используйте слишком много jQuery, это должно быть сделано с использованием стандартного JS :-)

$(location).attr('href').split('/').slice(3).map(function(s) {
return s.charAt(0).toUppercase()+s.slice(1);
}).join(',')

ответил(а) 2015-02-25T04:17:00+03:00 5 лет, 7 месяцев назад
69

var parts = $(location).attr('href').split('/').slice(3, 5);

$.each(parts, function (key, value) {
parts[key] = value.charAt(0).toUpperCase() + value.slice(1);
});

var result = parts.join(','); // 'Alpha,Beta'

ответил(а) 2015-02-25T04:11:00+03:00 5 лет, 7 месяцев назад
41

$(location).attr('href').split('/').slice(3).map(function(value) { return value.split('').map(function(value, at) { return (at > 0 ? value : value.toUpperCase()); }).join(''); }).toString()

ответил(а) 2015-02-25T04:43:00+03:00 5 лет, 7 месяцев назад
-4

Вы также можете сделать это таким образом (здесь replace() будет соответствовать только первой букве без глобального переключателя в regex):

var url='http://www.domain.com/alpha/beta';
var split=url.split('/');
var beta = split.pop();
var alfa = split.pop();
function capitalizeFirstLetter(str) {
return str.replace(str.charAt(0), str.charAt(0).toUpperCase());
};
document.getElementById('result').innerHTML = capitalizeFirstLetter(alfa) + ',' + capitalizeFirstLetter(beta);
<p id="result"></p>

ответил(а) 2015-02-25T04:33:00+03:00 5 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема