2011-12-17 6 views
1

は、このコードはここにスタイルのオーバーライド| jQueryの

http://jsfiddle.net/LH7sy/11/

を正常に動作しますそれはクラスuppercaseを持つ要素でsml()smlを見つけて、<span style="text-transform:none"></span>

に置き換えるしようとしますが、私はそれのすべてを置くしようとすると、 1つのファイルで、HTMLファイル、それはちょうど動作しません!

$(document).readyの代わりに何か他のものを使うべきですか?なにが問題ですか ?

<html> 
<head> 
<script type="text/javascript"> 
<!-- 
$(document).ready(function() { 
    $('.uppercase').each(function() { 
     var end = false; 
     var s = $(this).html(); 
     while(end == false) { 
      var p1 = s.indexOf('sml('); 
      var p2 = s.indexOf(')sml'); 
      if (p1 != -1) { /* if '(' is found in the string */ 
       var result = s.substring(0,p1); 
       result += '<span style="text-transform:none">'; 
       result += s.substring(p1+4,p2); 
       result += '</span>'       
       result += s.substr(p2+4); 
       s = result; 
      } else { 
       end = true; 
      } 
     } 
     $(this).html(result); 
    }) 
}) 
--> 
</script> 

<style type="text/css"> 
<!-- 
.uppercase:hover { 
    text-transform:uppercase; 
} 
--> 
</style> 
</head> 
<body> 

    <span class="uppercase"> 
    everything uppercase except sml(this)sml and sml(this too)sml 
    </span> 

</body> 
</html> 

答えて

1

あなたのdocument.ready呼び出しの前にjQueryのへの参照を含める必要があります。

<script type='text/javascript' src='http://code.jquery.com/jquery-1.7.1.js'></script> 
1

スタイルが本当に文書の<head>にアップする必要があります。また、コードで指定されていないjQueryを実際にロードしていることを確認する必要があります。

関連する問題