Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery-隐藏除一个类之外的所有div_Jquery - Fatal编程技术网

jquery-隐藏除一个类之外的所有div

jquery-隐藏除一个类之外的所有div,jquery,Jquery,这是我的密码: <div id="principal" class="classxx"> <div class="class001 cat2 blabla"> <div class="class002"> <div class="class003"></div> <div class="class004"></div> <div cla

这是我的密码:

  <div id="principal" class="classxx">
    <div class="class001 cat2 blabla">
      <div class="class002">
        <div class="class003"></div>
        <div class="class004"></div>
        <div class="class005"></div>
      </div>
    </div>
    <div class="class001 cat3 blabla">
      <div class="class002">
        <div class="class003"></div>
        <div class="class004"></div>
        <div class="class005"></div>
      </div>
    </div>
    <div class="class001 cat1 blabla">
      <div class="class002">
        <div class="class003"></div>
        <div class="class004"></div>
        <div class="class005"></div>
      </div>
    </div>
  </div>
如果我调用
showOnlyCat('cat3')
我只想看到所有具有“cat3”类的DIV(每个DIV都有多个类)及其子类

我还需要一个显示所有cat1、cat2、cat3的
showAllCat()
。。。DIVs

非常感谢您的帮助

试试这个:

function showOnlyCat(cat) {
    $('div').not('.'+cat).hide();
}
function showAllCat() {
    $('div').show();
}
函数showOnlyCat(类名){
$('div').not('..+className.hide();
}
函数showAllCat(){
对于(i=1;i

当class001是正确的时候就是这样。

真的可以用一个函数来实现

function toggleVisibility(className){
     if(typeof(className)!='undefined' && className != null){
        $("div").hide();         
        $("div."+className).show();
     }
   else
        $("div").show();
}
//仅显示class001 切换可视性('class001'); //尽显 切换可见性();


$('div.cat').sides().show();
我无法让它工作:我认为需要说明的是,脚本只影响DVI原则的直接子级。代码将嵌入到更复杂的页面中,我可以“限制”吗您的脚本到DIV#principal的第一个子DIV?@jrm:我不太清楚您的意思。如果您的意思是将$(“DIV.”+className).show()限制到与className标准匹配的第一个子DIV,那么您所要做的就是$(“DIV.”+className).eq(0).show();嗨,我不确定我的代码是否有用,但如果有用,请检查支票箱以表明你接受了我的答案?谢谢!哇,这是很多div。有没有可能用ULs或OLs替换它们以使代码更具语义?
function showOnlyCat(className) {
  $('div').not('.' + className).hide();
}

function showAllCat() {
  for (i=1;i<=NUM_CAT;i++) {
    $('.cat' + i).show();
  }
}
function showOnlyCat(cat){

 $('.class001').hide();
 $('.'+ cat).show();
}

function showAllCat(){
  $('.class001').show();
}
function toggleVisibility(className){
     if(typeof(className)!='undefined' && className != null){
        $("div").hide();         
        $("div."+className).show();
     }
   else
        $("div").show();
}