javascript - 如何将这段代码压缩成一个 block

标签 javascript html

我想将所有这些代码压缩成一个 block 而不是 5 个。它工作完美,但非常臃肿。任何其他改进此代码的提示将不胜感激。

JS:

function vanish1() {
    var el = document.getElementById('priceCheck1');
    if (el.style.display == "block") {
        el.style.display = "none";
    } else {
        el.style.display = "block";
    }
}

function vanish2() {
    var el = document.getElementById('priceCheck2');
    if (el.style.display == "block") {
        el.style.display = "none";
    } else {
        el.style.display = "block";
    }
}

function vanish3() {
    var el = document.getElementById('priceCheck3');
    if (el.style.display == "block") {
        el.style.display = "none";
    } else {
        el.style.display = "block";
    }
}

HTML:

<div id="priceCheck1">
test1
    </div>
    <div id="priceCheck2">   
test2
    </div>    
    <div id="priceCheck3">
test3
    </div>

最佳答案

你可以这样做:

function vanish(elementName) {
    var el = document.getElementById(elementName);
    if (el.style.display == "block") el.style.display = "none";
    else el.style.display = "block";
}

函数调用:

vanish('priceCheck1');

关于javascript - 如何将这段代码压缩成一个 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29069355/

相关文章:

javascript - 如何在 Rspec 功能规范期间创建 Javascript stub 对象?

javascript - 如何使用 jQuery 从 div 标签中的一组 iframe 中获取一个 iframe

javascript - Node.js + Express.js + SSL

css - 如何避免 HTML 表格背景颜色在打印时跨页?

html - 在 iphone 中被剪切的文本

javascript - 在不重新加载的情况下更改 HTML 页面上的特定元素

html - 带直 Angular 梯形的箱形

javascript - 包含外部 html 表数据

javascript - Jquery 自动完成 : how to setup what to send to the server?

javascript - 禁用单选按钮组