javascript - 有没有更简洁的方式来编写JS来显示和隐藏?

标签 javascript jquery html hide show

嗨,我在这里有一个 fiddle 设置,它有 2 个列表项,单击时它们通过切换显示/隐藏 div 来显示 - 每个列表项都有不同的内容。

我担心的是我编写的 JS 来控制它的方式。有更好的方法吗?

谢谢

https://jsfiddle.net/b0xamuj8/

html:

<ul>
    <li class="revealerone">item 1</li>
    <li class="revealertwo">item 2</li>
</ul>

<div class="revealed one">this is some content one</div>
<div class="revealed two">this is some content two</div>

CSS:

ul {
    list-style-type: mome;
    margin: 0;
}

li {
    display: inline-block;
    margin: 0 10px;
}

.revealed {
    display: none;
    background: green;
}

JS:

 $(document).ready(function() {
        $(".revealerone").click(function() {
            $(".one").slideToggle("slow");
        });
    });

    $(document).ready(function() {
        $(".revealertwo").click(function() {
            $(".two").slideToggle("slow");
        });
    });

最佳答案

您可以使用 data 属性来确定哪个“revealer”与哪个“revealed”匹配:

$(document).ready(function() {
    $(".revealer").click(function() {
        var id = "#" + $(this).data('item');
        $(id).slideToggle("slow");
    });
});
ul { list-style-type: none; margin: 0; }

li { display: inline-block; margin: 0 10px; }

.revealed { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
    <li class="revealer" data-item="one">item 1</li>
    <li class="revealer" data-item="two">item 2</li>
</ul>

<div class="revealed" id="one">this is some content one</div>
<div class="revealed" id="two">this is some content two</div>

关于javascript - 有没有更简洁的方式来编写JS来显示和隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31451510/

相关文章:

javascript - AFUI/Intels Appframework 滚动条在 PhoneGap Android 中无法工作

javascript - Css 模态框 z 索引不起作用

javascript - HTML5 视频帧捕获到位图

javascript - 自定义 div 加载不起作用

php - 延迟显示多个 Noty 通知

html - 点状树状结构

javascript - JQuery/JS 函数未在 <a> 上触发

javascript - 在同一 Canvas 中顺时针旋转一个轮子,逆时针旋转另一个轮子

javascript - jQuery $ ("a").live() 未捕获所有新链接

javascript - 为什么注释掉这段代码的alert()行会导致它失败?