我的文档里面有很多div和输入框。
一些输入框位于div
.form-group
级的$('input').each(function() {
var id = $(this).attr('id');
alert(id);
});
内。我使用下面的脚本来警告所有输入的ID。但它没有检测到一些输入。
{{1}}
答案 0 :(得分:2)
选择器input
只匹配<input>
个元素。例如,它不会匹配<select>
和<textarea>
元素。
如果要匹配所有输入元素,可以使用:input
选择器。或者,您也可以在选择器中指定其他类型。
例如:
$(':input')
// OR //
$('input, select, textarea')
答案 1 :(得分:2)
您的代码段何时被调用?
例如......
<input id="id1">
<script>
alert( $('input').length ) // will result in 1
</script>
<input id="id2">
考虑将您的代码段移动到正文标记的底部:
<input id="id1">
<input id="id2">
<script>
alert( $('input').length ) // will result in 2
</script>
或将其包装为jQuery.ready
回调:
<script>
jQuery(function($) { // called after the DOM is loaded.
alert( $('input').length ) // will result in 2
});
</script>
<input id="id1">
<input id="id2">
请注意,创建一个新的jQuery实例(jQuery(...)
)将获取当前DOM结构的“快照”,如果稍后添加某些内容,它将不会更新:
<input>
<script> var $inputs = $('input'); </script>
<input>
<script> alert($inputs.length); // Still 1 because we took a "snapshot" when there was only 1 input element in the DOM </script>