存在更好的东西来做这个?

时间:2016-04-08 19:57:24

标签: jquery

存在更好的东西吗?用更少的线?

$('#hider').click(function(){
    $(".name_A").hide();
    $(".name_B").hide();
    $(".name_C").hide();        
    });

我想要输入许多名字,A,B,C,(100个名字)......并且只用50个按钮隐藏。

我是JQuery的新手。我曾经尝试过过滤器,但对我来说效果不错。

2 个答案:

答案 0 :(得分:0)

我需要更多详细信息才能更好地回答您的问题。你的HTML是什么样的?你想隐藏什么50?前50或后50?

与此同时,您可以做到这两点:

HTML示例:

<button id="hide-btn">Hide 50 names</button>
<ul class='name-list'>
    <li>Name 1</li>
    <li>Name 2</li>
    <li>Name 3</li>
    ...
</ul>

JavaScript示例:

var $hideFirstBtn = $( '#hide-first-btn' ),
        $hideLastBtn = $( '#hide-last-btn' ),
        $nameList = $( '.name-list' ),
        $nameListLength = $nameList.find( 'li' ).length;

$hideFirstBtn.on( 'click', function () {
    for ( var i = 0; i < 50; i++ ) {
        $nameList.find( 'li' ).eq( i ).hide();
    }
});

$hideLastBtn.on( 'click', function () {
    for ( var i = 0; i < 51; i++ ) {
        $nameList.find( 'li' ).eq( $nameListLength - i ).hide();
    }
});

答案 1 :(得分:-1)

您可以使用,

分隔多个类名
$('#hider').click(function(){
    $(".name_A, .name_B, .name_C").hide();
});

但是有100个不同的类名,然后通过单独命名隐藏其中的50个,这是正确的编程吗? 在CSS中,您也可以为元素分配多个类名,我希望您做得对。

注意:在不知道相关HTML / CSS的详细信息的情况下,我不知道是否有更好的解决方案。

您可以参考以下链接获取有关jQuery选择器的更多帮助 W3Schools - jQuery Selectors