Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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类删除div_Jquery_Jquery Selectors - Fatal编程技术网

jQuery-基于父div类删除div

jQuery-基于父div类删除div,jquery,jquery-selectors,Jquery,Jquery Selectors,我正在尝试创建一个jQuery脚本,该脚本将根据父div的类删除div/s,例如基于下面的父div类,即one column我希望删除divsideColumn two&sideColumn two <div id="footer" class="one-column"> <div class="wrapper"> <div class="contentColumn"> Main Content Column

我正在尝试创建一个jQuery脚本,该脚本将根据父div的类删除div/s,例如基于下面的父div类,即
one column
我希望删除div
sideColumn two
&
sideColumn two

<div id="footer" class="one-column">
    <div class="wrapper">
        <div class="contentColumn">
            Main Content Column
        </div>
    </div>

    <div class="sideColumn-one">
        Side Column 1
    </div>

    <div class="sideColumn-two">
        Side Column 2
    </div>

    <div class="sideColumn-three">
        Side Column 2
    </div>       
</div>
永远不会删除div
contentColumn

任何帮助都将不胜感激。

编辑:获取更新的标记

var num = $("#footer").attr("class").replace("-column","");
$("#footer > div:gt(0):not(.sideColumn-" + num + ")").hide();​


上一个答案:在不更改标记的情况下,您可以这样做:

var nums = { one: 1, two: 2, three: 3 };
var num = $("#test").attr("class")​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​.replace("-column","");
$("#test > div:not(.col" + nums[num] + ")").hide();​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
$("#test > div:not(." + $("#test").attr("class") + ")").hide();​
,但如果您通过为父级提供相同的类来简化它,例如:

<div id="test" class="col1">
    <div class="col1">
        Col 1
    </div>
    <div class="col2">
        Col 2
    </div>    
    <div class="col3">
        Col 3
    </div> 
</div>​

,如果您想删除而不是隐藏它们,只需替换为。

不幸的是,我不能让父类与它决定布局的方式相同,也就是说,在某些情况下,我会显示两列,只删除一列。顺便说一句,谢谢Nick,我现在用实际代码Nick测试它-谢谢您的输入,非常感谢,但是,基于我实际拥有的html,脚本将不起作用,我的错误是没有在这里包含它,但现在已经这样做了,我道歉。@saidsl-根据您的标记,尝试以下内容:@Nick-谢谢Nick,到达那里,刚刚注意到我应该说如果它是两列,那么它将删除第三列。基本上我需要达到的是这样的目标
$("#test > div:not(." + $("#test").attr("class") + ")").hide();​