2016-03-03 146 views
2

我正在嘗試爲每個班級首字母大寫首字母。使用javascript大寫首字母大寫

我在我的頁面上多次使用了html <span class="price"></span>,我想大寫每個標籤的第一個字母。所以我有一個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(); 

     } 
    } 
+1

您確定正在替換字符,但是您認爲您確實在返回字符串的位置? – adeneo

回答

9

爲什麼不使用jQuery堅持,因爲你已經在使用它

$('.price').text(function(_, txt) { 
    return txt.charAt(0).toUpperCase() + txt.slice(1).toLowerCase(); 
}); 
+0

謝謝。我用循環把所有東西都複雜化了這就是我一直在尋找的! –

1

你可以用CSS做:

.price:first-letter{ 
    text-transform: capitalize; 
} 
0

蔭不知道你和你的document.getElementsByClassName得到什麼( '價錢'); 但這項工作將返回託託

function applySentenceCase() 
{ 
    var selector = "toto"; 
    return selector.charAt(0).toUpperCase() + selector.substr(1).toLowerCase(); 
} 
+0

用document.getElementsByClassName('price');我得到所有的字符串想要改變大寫的html元素。我有幾個課程的div。 –

1

你的功能基本上是正確的。我想象一下jQuery的問題?我改變了它一點點使用JavaScript。 https://jsfiddle.net/h6h4nswd/

var selectorTest = selector[i].innerHTML; 
+0

我知道我錯過了什麼,但我不知道是什麼。 :)這絕對是我需要的代碼的和平。 :) 謝謝。 –