jQuery-基于父div类删除div
我正在尝试创建一个jQuery脚本,该脚本将根据父div的类删除div/s,例如基于下面的父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
one column
我希望删除divsideColumn 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>
永远不会删除divcontentColumn
任何帮助都将不胜感激。编辑:获取更新的标记
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();