Jquery hide()具有某个类的所有元素,除了一个

lis*_*aro 28 jquery

<div class='hide'>A</div>
<div class='hide'>B</div>
<div class='hide' id='1'>C</div>
Run Code Online (Sandbox Code Playgroud)

我有一个名为showOne的函数,它应隐藏所有元素,然后显示id ='1'的函数.

function showOne(id) {
// Hide all elements with class = 'hide'
$('#'+id).show();
}
Run Code Online (Sandbox Code Playgroud)

如何在jquery中使用class ='hide'隐藏所有元素?

Aym*_*adi 50

尝试类似的东西:

function showOne(id) {
    $('.hide').not('#' + id).hide();
}

showOne(1);?
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/aymansafadi/kReZn/

我同意@TheSystemRestart,"注意:不要只使用NUMERIC ID".

  • 我只想花一点时间来承认这个例子写得不好,对于一个全新手来说,仅仅是因为你把你的班级'hide'命名为.hide()函数,这可能会让人觉得两者之间有联系. .我看到这种命名方式无处不在,当我在学习时,通过这些例子我感到很痛苦. (4认同)

The*_*art 5

$('div.hide').hide(300,function() {  // first hide all `.hide`
   $('#'+ id +'.hide').show(); // then show the element with id `#1`
});
Run Code Online (Sandbox Code Playgroud)

注意:请勿使用NUMERIC ID.不允许.读这个


Hit*_*dha 5

您必须通过css类名访问元素.要做到这一点.操作者

$('.hide').hide();
Run Code Online (Sandbox Code Playgroud)

它将隐藏所有div.

现在按id显示一个div;

$('#elemID').show();
Run Code Online (Sandbox Code Playgroud)

或者您也可以使用

$('.hide').eq(0).show();
Run Code Online (Sandbox Code Playgroud)

它将显示第一个具有类隐藏的 div .