2011-07-07 11 views
1

私はJQuery、Javascript、HTML Webサイトを持っています。私は0と等価でない場合、テキストをストライクする簡単な関数を作った。javascriptのシンプルな機能がレイアウトを削除します

この関数はうまくいくようだが、ページ内の他のものはすべて消えている。私はストライクテキストだけを見る。

productPriceはストライキされ、salePriceはストライクされません。機能は機能しますが、レイアウトは乱雑になります。助けて ?テキストは私のページに次のように表示されている

<label id="productPrice">Price</label> 
     <label id="salePrice">Sale Price</label> 

コードHERESに必要であれば、私はより多くを供給することができます。

機能

if (product.price != 0); 
{ 
    var salePrice = product.price; 
    document.write(salePrice.strike()); 
} 

配列

var catalog = {"products": [ 
{"thumbnail": '/pub/3/resources/ti/store/mobile/chrome.png', 
    "brand": "Google", 
    "name": "Chrome", 
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 
    "rating": '5', 
    "sale_price": "0.00$", 
    "sale_desc": "", 
    "price": "0.00$"}, 

パラメータ

$('#productPrice').html(product.price); 

答えて

5

document.write()はページからすべてを削除していますが、何を書きます。それがどのように機能するのですか?あなたは今それを試すことができますアドレスバーにjavascript: document.write("Gone");を入れて、ページは同じように消えます。

また、if文の後ろにセミコロンがあるため、コードは常に実行されます。

if (product.price !== 0) { 
    document.getElementById('productPrice').style.textDecoration = 'line-through'; 
} 

または

if (product.price !== 0) { 
    $('#productPrice').css('text-decoration', 'line-through'); 
} 
+2

ああ。それはたくさん説明します。 document.write()をもう一度使用しないでください...ありがとうございます。ヘルプをよろしくお願いいたします。 – JFFF

関連する問題