javascript简单的功能删除布局

JFF*_*FFF 1 html javascript mobile jquery

我有一个JQuery,Javascript,HTML网站.如果它不等于0,我做了一个简单的函数来打击文本.

该功能似乎有效,但页面中的其他所有内容都消失了.我只看到我的文字.

productPrice应删除线和salePrice不删除线......功能的作品,但布局被搞砸.救命 ?

文本在我的页面上显示如下:

<label id="productPrice">Price</label>
        <label id="salePrice">Sale Price</label>
Run Code Online (Sandbox Code Playgroud)

下面是代码,如果需要,我可以提供更多代码.

功能

 if (product.price != 0);
{
    var salePrice = product.price;
    document.write(salePrice.strike());
}
Run Code Online (Sandbox Code Playgroud)

排列

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$"},
Run Code Online (Sandbox Code Playgroud)

参数

    $('#productPrice').html(product.price);
Run Code Online (Sandbox Code Playgroud)

Rob*_*ert 5

document.write()从页面中删除所有内容但是你写的是什么.这就是它的工作原理.您现在可以尝试,放入javascript: document.write("Gone");地址栏,页面将以相同的方式消失.

你的if语句后面还有一个分号,所以你的代码总是会运行.

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

要么

if (product.price !== 0) {
    $('#productPrice').css('text-decoration', 'line-through');
}
Run Code Online (Sandbox Code Playgroud)

  • 哦.这解释了很多.永远不要再使用document.write()...谢谢.感谢帮助. (2认同)