Jquery 有更好的方法来做这件事吗?

Jquery 有更好的方法来做这件事吗?,jquery,Jquery,有更好的方法来做这件事吗?用更少的线 $('#hider').click(function(){ $(".name_A").hide(); $(".name_B").hide(); $(".name_C").hide(); }); 我想写很多名字,A,B,C,(100个名字)。。。只需一个按钮就可以隐藏50个 我是JQuery新手。我已尝试过筛选,但效果不好。您可以使用,分隔多个类名 $('#hider').click(function(){

有更好的方法来做这件事吗?用更少的线

$('#hider').click(function(){
    $(".name_A").hide();
    $(".name_B").hide();
    $(".name_C").hide();        
    });
我想写很多名字,A,B,C,(100个名字)。。。只需一个按钮就可以隐藏50个


我是JQuery新手。我已尝试过筛选,但效果不好。

您可以使用
分隔多个类名

$('#hider').click(function(){
    $(".name_A, .name_B, .name_C").hide();
});
但是有100个不同的类名,然后通过单独命名来隐藏其中的50个,这是正确的编程吗? 在CSS中,您也可以为一个元素指定多个类名,我希望您做得对

注意:在不了解相关HTML/CSS细节的情况下,我不知道是否有比这更好的解决方案

有关jQuery选择器的更多帮助,请参阅下面的链接

我需要更多的细节来更好地回答你的问题。你的HTML是什么样子的?你想隐藏多少?前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>
隐藏50个名称
  • 名字1
  • 名称2
  • 名字3
  • ...
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();
    }
});
var$hidefirstbttn=$(“#隐藏第一个btn”),
$HIDELASTBN=$(“#隐藏最后一个btn”),
$nameList=$('.name list'),
$nameListLength=$nameList.find('li').length;
$hideFirstBtn.on('click',函数(){
对于(变量i=0;i<50;i++){
$nameList.find('li').eq(i).hide();
}
});
$hideLastBtn.on('click',函数(){
对于(变量i=0;i<51;i++){
$nameList.find('li').eq($nameListLength-i).hide();
}
});

只需使用startswith选择器:$(“[class^=name_quo;”).hide();这将隐藏所有类以'name_uuz'@dinmyte开头的元素,除非50个元素中的其余元素不以不需要隐藏的
name
开头。此外,这将取决于此约定是仅用于示例还是实际的类名used@Nimesh当前位置OP没有提到他想隐藏哪50个。因此,我将根据他在代码中指定的内容进行假设,即他希望隐藏具有模式为“name”[alphabet]”的类的元素。您可以简单地使用以选择器开头,以避免声明单个选择器,$(“[class^=name””)。hide()@dinmyte感谢您分享这一点,没有使用它,因此我没有注意到它。无论如何,我已经添加了包含更多细节的链接,以便OP可以根据自己的使用情况进行检查和应用。这是我需要的非常简单的代码,它正在工作,但是有很多行。你的方式好多了。非常感谢。:)@用户2992376我很抱歉,但这不是更好的。硬编码100个类是一种非常糟糕的做法。如果将来它们会改变呢?这也需要永远。维护将是困难和痛苦的。@user2992376如果您能提供更多关于HTML和CSS的详细信息,我们可以提供更好的答案,这将帮助您和将来从事该项目的任何人进行代码检查和维护。谢谢,.hide()的工作更简单,我希望代码更简单。与fo(VARI=0)等一起工作对我来说还不起作用。。。但是谢谢:)你说(VARI-0)的
对你来说还不起作用是什么意思?