2012-01-12 6 views
0
$j("img").each(function() { 
    var img = $j(this); 
    var source = img.prop("src"); 
    var alt = img.prop("alt"); 
    var source1 = source.substring(source.lastIndexOf('.'), source.lastIndexOf('/'))  
    var source2 = source1.substring(1);             

    if (alt || alt == "") {              
     img.prop("alt", source2); 
    } 
    else if (alt != source) {              
     img.prop("alt", source2); 
    } 
}); 

/* Webページ内の画像名に代替タグ画像の名前を変更する*/画像にALTタグを変更するための私のjQueryのコードは、IE 7またはIE 8のために働くとFFとChrome

+0

キャッシュがクリアされると、IE 7とIE 8で動作することがあります。 –

答えて

0
のために働くされていませんjQueryのドキュメントから

selectedIndexの、tagNameを、nodeNameの、nodeTypeの、のownerDocument、defaultChecked、及びdefaultSelectedが取得さ.prop()メソッドで設定されなければなりません。

変更しようとしている値は属性なので、代わりに.attrメソッドを使用する必要があります。

var alt = img.attr("alt"); 
var source = img.attr("src"); 
img.attr("alt", source2); 
+0

propはDOMプロパティを読み込むので、prop()はより速く、その後はattr()を読み込みます。 attr()も同様の結果になります。 –

0

画像がhttp://cefn.com/blog/photos/blind_mans_buff_credit_velvet_android_240_high.jpgのようなURLが、私はどのようにlastIndexOfでも見に失敗している場合は(「 『)あなたのコードが想定しているように見えるのlastIndexOf(』 /」)の前にすることができます。さまざまなブラウザがこのエラーに異なって反応することがあります。

+0

IEではエラーとしてポップアップしません。それは時々動作し、それ以外の時は動作しません。 –

+0

私はそれを調べて、IEがそれを読まないかのように、小道具法の周りで失敗するようです。 –

関連する問題