あなたは最初のものに余分なものを持ってい:
ます、あなたが望む:
$("div#divid:visible").find('input:checkbox').length
// ^---- No : here
そのdiv
先頭の は無意味ですが (無害ですが無意味です) の要素id="divid"
が であるdiv
場合とそうでない場合があり、そうでない場合はスキップしたい場合を除きますdiv
。おそらく、次のとおりです。
$("#divid:visible").find('input:checkbox').length
実際には、次のように呼び出すのではなく、セレクターを 1 つだけ使用して実行できますfind
。
$("#divid:visible input:checkbox").length
div
また、関連するものがDOMにあり、display
上記のコードが実行されたときに確認したい設定があることを確認する必要があることに注意してください.
例 -ライブコピー| ソース
HTML:
<div id="div1">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
</div>
<div id="div2" style="display: none">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
</div>
JavaScript:
(function($) {
display('$("#div1:visible input:checkbox").length = ' + $("#div1:visible input:checkbox").length);
display('$("#div2:visible input:checkbox").length = ' + $("#div2:visible input:checkbox").length);
function display(msg) {
$("<p>").html("<code>" + msg + "</code>").appendTo(document.body);
}
})(jQuery);
結果:
$("#div1:visible input:checkbox").length = 5
$("#div2:visible input:checkbox").length = 0