2011-12-16 69 views
0

我有以下的div結構:如何僅使用jQuery顯示不包含複選框的div?

<div class="members-content"> 
<a>Studen ...</a> 
</div> 

<div class="members-content"> 
<a>Studen ...</a> 
<input type="checkbox" class="form-checkbox" > 
</div> 

<div class="members-content"> 
<a>Studen ...</a> 
<input type="checkbox" class="form-checkbox" > 
</div>  

我怎樣可以只顯示其中不包含複選框DIV?

+0

你的意思是你需要找到並顯示沒有複選框的div或者是一個簡單的`$('。members-content')。Show()`夠好嗎? – AlG 2011-12-16 12:36:08

回答

2

嘗試:$('.members-content:not(:has(input))')

0
$('.members-content').hide(); 
$('div:not(:has(input[type="checkbox"]))').show() 

這將隱藏除股利一切不具有任何複選框

工作樣本:http://jsfiddle.net/4kYcx/14/

0

在這裏你去:

$(function(){ 
    $("div.members-content").filter(function(){ 
     return $(this).find(":checkbox").length > 0; 
    }).hide(); 
}); 
1

要顯示沒有複選框的人:

$("div.members-content:not(:has(:checkbox))").show(); 

要使用複選框隱藏的:

$("div.members-content").has(":checkbox)").hide(); 

// could also hide with the following, but less effecient: 
$("div.members-content:has(:checkbox)").hide(); 

或者,一個可以說是更簡單的方法就是通過隱藏他們都開始,然後告訴你想要的:

$("div.members-content").hide(); 
$("div.members-content:not(:has(:checkbox))").show(); 

// OR 
var members = $("div.members-content"); 
members.hide(); 
members.not(":has(:checkbox)").show(); 
+0

+1用於額外的解決方案 – Fero 2011-12-16 12:50:12

相關問題