2011-05-05 21 views
0

我一直在尋找一個腳本,使每個div中的所有文本都爲大寫字母。 我發現這個腳本:Make div toUpperCase()

<script type="text/javascript" src="Script/jquery-1.3.2.js"></script> 
<script type="text/javascript"> 

     $(document).ready(function(){ 
      $("div").text($("div").text().toUpperCase()); 
    }); 
</script> 

來源:here

然而,這個腳本需要每一個DIV,並將其添加到以前和重複下來的文件......這很難解釋。

我認爲

$("div").text().toUpperCase(); 
單獨

應該工作...但事實並非如此。

我覺得這應該很簡單...

任何和所有的幫助表示讚賞!

編輯

我不能標識這樣做!它必須符合實際的要素。

回答

3

這裏的問題是,你到$內心的召喚(「DIV」)每格遍歷,獲取文本,將其更改爲大寫,並將其設置爲外部$('div')迭代中的當前元素。您需要遍歷每個div,獲取文本,並將其重置爲大寫版本。代碼這樣做如下:

<script> 
$('div').each(function(k, element) 
{ 
    $(element).text($(element).text().toUpperCase()); 
}); 
</script> 

另一種選擇是也使用CSS:

<style> 
div { text-transform: uppercase; } 
</style> 
+0

CSS,太簡單了。輝煌。 – Johannes 2011-05-05 03:09:47

0

您可以設置每個ID。

<div id="textDiv"> 
... 
</div> 

$("#textDiv").text().toUpperCase(); 
+0

ID是不是一種選擇,我不能改變的實際的代碼,我只能添加到它。 – Johannes 2011-05-05 03:00:19

3

你可以使用CSS-

div{text-transform:uppercase} 
+0

你打我吧+1 – Ibu 2011-05-05 03:07:17

0

什麼:

$('div').each(function() { 
    $(this).html($(this).text().toUpperCase()); 
});