複数の誤りがあると思います。
まずgauさんが指摘されているpng
は'png'
ではないのか?ということ。
そしてreplace
が意味不明(おそらくそこでもエラーが出ているはず)。
やりたいのはa2
とa3
というクラスの追加ですか?
それならこうなります。
JQuery
1$(".a1").each(function(){
2 if ($(this).html().match('png')) {
3 $(this).addClass("a2 a3");
4 }
5});
追記
「a1
というクラスを持つ要素のhref属性内にpng
という文字列が含まれていたらa2
とa3
というクラスを削除する」のならこうです。
$(".a1").each(function(){
if ($(this).attr('href').match('png')) {
$(this).removeClass("a2 a3");
}
});
質問の編集を受けてさらに追記
「a1
というクラスを持つ要素のhref属性内にpng
という文字列が含まれていたら
a2
というクラスとa3
というクラスを両方持っている要素を非表示にする」
$(".a1").each(function(){
if ($(this).attr('href').match('png')) {
$(".a2"+".a3").hide();
}
});