我正在使用此
alert($j(':checkbox').length);
我的页面的输入元素为:
<input id="pageId:formIds:refOut:pdsectionId:pbtable:1:check1" type="checkbox" name="pageId:formIds:refOut:pdsectionId:pbtable:1:check1" class="foo">
仍然将长度返回为零。
注意Jquery Lib加载时没有错误。
完整代码:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>
$j = jQuery.noConflict();
alert($j('input:checkbox').length);
</script>
答案 0 :(得分:4)
你必须等待DOM准备好了:
$(function(){
alert($j(':checkbox').length); //FYI prefixed with element type is preferred: $j('input:checkbox')
});
或者在正文结束标记之前设置代码:
<script>
/*....*/
</script>
</body>
答案 1 :(得分:3)
将标记添加到选择器以使用:checkbox
伪造的选择器:
alert($j('input:checkbox').length);
请注意,这将要求您将jQuery映射到$j
,否则请使用:
alert($('input:checkbox').length);
JS小提琴: http://jsfiddle.net/cUAWw/
由于小提琴似乎有效但发布的代码没有,因此在脚本加载时该元素可能不可用。尝试添加:
var $j = jQuery.noConflict();
$(document).ready(function(){
alert($('input:checkbox').length);
});