2012-02-23 16 views
-2

"文字列が含まれている....":エラー:キャッチされない例外:[例外...私は次のJavaScript実行しています

$('img').each(
    function(){ 
     var w = parseInt(this.width); 
      alert(w); 
      alert(this.src); 
     if(w > 300){ 

      var percent = parseInt((w/666)*100); 
      $(this).removeAttr('width height').css('width',percent + "%"); 

     } 
}); 

をそして、私は次のエラーを取得しています:

Error: uncaught exception: [Exception... "String contains an invalid character" code: "5" nsresult: "0x80530005 (NS_ERROR_DOM_INVALID_CHARACTER_ERR)" location: "http://code.jquery.com/jquery-1.6.4.min.js Line: 2"]

問題の原因や問題の原因をあまり説明していないので、実際にこの問題を追跡しようとすると問題が発生しています。誰かが問題に光を当てることはできますか?

おかげ

+3

なぜエスケープされた引用符を使用していますか? '$( 'img')。each(/*...*/);' –

+1

あなたの実際のコードにエスケープ(\\)はありますか? – Rodaine

+0

これはかなり正確なエラーコードです:) - '文字列に無効な文字が含まれています。 ' – Jasper

答えて

0

正しい構文がわからないようです。それは大きさに画像を変更しませんが - -

$('img').each(
    function(){ 
     var w = parseInt(this.width); 
      alert(w); 
      alert(this.src); 
     if(w > 300){ 

      var percent = parseInt((w/666)*100); 
      $(this).removeAttr('width height').css('width',percent + "px"); 

     } 
}); 
0

$(\'img\')は動作しません。 $('img')である必要があります。一重引用符をエスケープしようとしている他の場所がいくつかありますが、必要はありません。あなたのコードは次のようになります。

$('img').each(
    function(){ 
     var w = parseInt(this.width); 
      alert(w); 
      alert(this.src); 
     if(w > 300){ 

      var percent = parseInt((w/666)*100); 
      $(this).removeAttr('width height').css('width',percent + "px"); 

     } 
}); 
0

は私のためにis running perfectlyのように見えるので、問題はあなたのコード/ページで、おそらくどこかである: これを試してみてください。

コード内のロジックでは、ここで何をしようとしているのかわかりません。

parseInt((W/666)*100) 

すべての画像を幅の最大サイズにしようとしていますか?つまり、ブラウザで画像を縮小しますか? If so, why not just set the size to a fixed value、like;

$('img').each(
    function(){ 
     var maxwidth = 300; 
     var w = parseInt(this.width); 
     var h = parseInt(this.height) 
     if(w > maxwidth){ 
      var hscale = parseInt(h/(w/maxwidth)); 
      $(this).width(maxwidth).height(hscale); 
     } 
}); 
関連する問題