jQuery-show/hide DIVs是指它们有一个特定的类
这是我的密码:jQuery-show/hide DIVs是指它们有一个特定的类,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都有多个类)及其子类
函数必须只针对DIV#principal的第一个子级
我还需要一个显示DIV#principal的所有子DIV的showAllCat()
非常感谢你的帮助
function showOnlyCat(className){
$("#principal").children().hide().filter("."+className).show();
}
function showAllCat(){
$("#principal").children().show();
}
编辑:修复了错误。测试。它起作用了
编辑2:遵循@gnarf的好建议
编辑:修复了错误。测试。它起作用了
Edit2:@gnarf给了你很好的建议,你可以这样做:
function showAllCat() {
$('#principal div').each(function() {
$(this).css('display', 'block');
})
}
function showOnlyCat(className) {
$('#principal div:not(.' + className + ')').each(function() {
$(this).css('display', 'none');
})
$('#principal div.' + className).each(function() {
$(this).css('display', 'block');
})
}
//other way:
function showOnlyCat1(className) {
//hide all
$('#principal div').each(function() {
$(this).css('display', 'none');
})
//showing only class parameter
$('#principal div.' + className).each(function() {
$(this).css('display', 'block');
})
}
您好,使用jQuery,您可以这样做:
function showAllCat() {
$('#principal div').each(function() {
$(this).css('display', 'block');
})
}
function showOnlyCat(className) {
$('#principal div:not(.' + className + ')').each(function() {
$(this).css('display', 'none');
})
$('#principal div.' + className).each(function() {
$(this).css('display', 'block');
})
}
//other way:
function showOnlyCat1(className) {
//hide all
$('#principal div').each(function() {
$(this).css('display', 'none');
})
//showing only class parameter
$('#principal div.' + className).each(function() {
$(this).css('display', 'block');
})
}
你已经问了这个问题,得到了4个答案@Gareth,同意。投票以完全相同的方式结束。你已经问了这个问题,并得到了4个答案@Gareth,同意。投票以完全重复的方式关闭。您可以将.filter('..+className).show()
链接到.hide()
的末尾,以便更准确…似乎正确,但我无法使其正常工作,请看:@gnarf,您能再解释一下吗?@jrm,对不起,这是旧版本!新的更好。你可以将.filter('.+className).show()
链接到的末尾。hide()
更准确一些…似乎是正确的,但我无法让它工作,看:@gnarf,你能再解释一下吗?@jrm,对不起,那是旧版本!新的好多了。