我正在尝试获取div中的值列表,稍后我将使用.each()方法进行格式化。它们是隐藏的输入值,我的html和jquery调用看起来像这样。
<div id="container_0">
<input type="hidden" id="check_data" value=10>
<input type="hidden" id="check_data" value=20>
</div>
Jquery:
var list = $('#container_0 input#check_data');
$(list).each(
function() {
alert($(this).val());
}
);
然而,这并没有返回任何值。任何帮助将不胜感激。
答案 0 :(得分:8)
您不能多次使用相同的ID,这是无效的HTML。执行此操作时,任何结果都将无法预测,尤其是在浏览器中。
这应该可以提醒值:
$('#container_0 input').each(function() {
alert($(this).val());
});
如果您使用了类,请执行以下操作:
<div id="container_0">
<input type="hidden" class="check_data" value=10>
<input type="hidden" class="check_data" value=20>
</div>
然后这只会找到那些输入:
$('#container_0 input.check_data').each(function() {
alert($(this).val());
});
答案 1 :(得分:0)
Nick完全正确,不允许在一个html文档中多次使用id。
可以帮到你的是:为你的输入选择不同的身份
然后通过以下方式选择两个输入:
$('#container_0 input')
如果匹配的元素太多,您仍然可以在输入中添加类:
<div id="container_0">
<input class="fencyInput" />
<input class="fencyInput" />
<input class="notFancy" />
</div>
选择器如
$('#container_0 input.fencyInput')
只匹配前两个div(类可以多次使用)。