codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="../../../js/jquery/jquery-min.js" type="text/javascript"></script>

<script type="text/javascript">
// <![CDATA[

function Button1_onclick()
{
    var x = $("#div1 input");
    var y = x.filter("[checked]");
    alert(y.length);

}

function Button2_onclick()
{
    var x = $("#div1 input");
    var y = x.filter(":checked");
    alert(y.length);

}


// ]]>
</script>
</head>
<body>
    <div id="div1">
        <input name="Checkbox1" type="checkbox" />
        <!--
        <input name="Checkbox1" type="checkbox" />
        <input name="Checkbox1" type="checkbox" />
        -->
    </div>
    

    <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />
    <input id="Button2" type="button" value="button" onclick="return Button2_onclick()" />
</body>
</html>
allora, se ho un solo checkbox e lo seleziono, la sintassi
filter("[checked]");
funziona solo con IE9 modalità compatibilità e Opera; non va con Firefox e Chrome.
L'altra sintassi va con tutti