我正试图将每个班级的第一个字母大写。
我的页面上有多次html <span class="price"></span>
,我希望将每个标记的首字母大写。所以我有一系列跨度类。
html元素的默认值是小写的,我尝试使用text-transform:capitalize,它会转换每个单词的第一个字母。
我尝试编写一些代码,但它不起作用,它只通过循环一次而且不起作用。
这是代码,有人可以帮我修改工作
function applySentenceCase() {
var selector = document.getElementsByClassName('price');
for( i =0; i<selector.length; i++) {
var selectorTest = jQuery(selector[i]).text();
return selectorTest.charAt(0).toUpperCase() + selectorTest.substr(1).toLowerCase();
}
}
答案 0 :(得分:12)
为什么不坚持使用jQuery,因为你已经在使用它了
$('.price').text(function(_, txt) {
return txt.charAt(0).toUpperCase() + txt.slice(1).toLowerCase();
});
答案 1 :(得分:1)
您可以使用CSS:
.price:first-letter{
text-transform: capitalize;
}
答案 2 :(得分:1)
你的功能基本上是正确的。我想jquery有问题吗?我改变了一点使用javascript。 https://jsfiddle.net/h6h4nswd/
var selectorTest = selector[i].innerHTML;
答案 3 :(得分:0)
我不确定你的文件是什么.getElementsByClassName(&#39; price&#39;); 但这项工作将返回托托
// BEGIN: NEED TO SECURE
var appID = 'aaabbbccc';
var apiKey= 'somelongstring...';
var authorizationToken = SomeCodeToMakeFromAppIdAndKey(appID,apiKey);
// END: NEED TO SECURE
var endpointUrl = apiUrl + '/api/token';
return $http({
method: 'POST',
url: endpointUrl,
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
'Authorization': 'basic ' + authorizationToken
},
data: "grant_type=client_credentials"
}).then(function(response) {
// get the access token from the 'access_token' property of the data object
return response.data.access_token;
};