2011-08-16 9 views
0

基本的に、「在庫数量:7」という文字列を読み込むと、ページを検索しようとしています。この文字列が見つからない場合、[img id = "product_photo" src = "bleh.gif"]が下のソースにリストされているイメージに置き換えられます。文字列が見つかった場合は、イメージを置き換えたくありません。jQuery:文字列が検索対象の文字列と一致しない場合に画像を置換

私たちが望むのは、私たちのサイト上の製品の数量が7に等しくない場合、製品イメージの代わりに入金されたイメージを表示することです。しかし、以下のコードは私のために働いていません。私は魔法の解決策を求めているわけではありませんが(しかしそれはうまくいくでしょう)正しい方向へのプッシュさえも大いに評価されます。

以下は私が思いついたコードです。コードが正しくなければ私が許してくれたので、私はJavaScriptの初心者です。私は、私の限られた知識と、他のスタックオーバーフロー記事からの助けを借りて、これをまとめました。事前に

<script type="text/javascript"> 
window.onload = function() { 
    var foundin = $('*:contains("Quantity in Stock:7")'); 
    If (foundin != "Quantity in Stock:7") { 
    $("#product_photo").attr("src", "/v/vspfiles/templates/Raceweek/images/dt_image.gif"); 
    } 
}; 
</script> 

おかげで、 カモ

+0

いいえいいえjavaは** NOT ** JavaScriptです。 **編集:**ありがとう、ドッグベルト: – Skilldrick

答えて

0

$('*:contains("Quantity in Stock:7")')は、文字列を返しません。これは、一致した要素のjQueryセットを返します。

あなたの場合、あなたの文字列が見つかった場合、一致するセットは空ではありません。だから我々は、マッチしたセットの長さをチェックします:

$(function() { 
    var foundin = $('body:contains("Quantity in Stock:7")'); 

    if (! foundin.length) { 
     $("#product_photo").attr("src", "/v/vspfiles/templates/Raceweek/images/dt_image.gif"); 
    } 
}); 

注:あなたがページ全体にそのcontainsを実行する必要はありません!数量を保持する要素に対してのみ実行します。

+0

あなたの援助ありがとう。それは私のラインを越えている。 – Camotec

関連する問題