js长度未显示元素的正确长度,并且find()无法获取元素的值
我有这样的代码:
<div id="mobiles">
<input name="mobiles[]" id="mobiles0">
<input name="mobiles[]" id="mobiles1">
<input name="mobiles[]" id="mobiles2">
.
.
.
</div>
ID为mobiles1或更多ID的输入是通过附加元素动态创建的。
我想获取我使用2种方式的输入数量
$('#mobiles').children('input').length;
//它什么也不返回document.getElementsByName('mobiles[]').length;
//返回错误的值,例如8输入3或16输入4或32输入5的错误值。似乎是2的幂第二个问题是我无法获取第三个输入的值,之后便无法获取。我只是用下面的代码获得第一和第二输入的值。
var xlen = document.getElementsByName('mobiles[]').length;
for (i = 0; i < xlen; i++) {
var data = $('div').find('#mobiles' + i).val();
alert(data);
}
或使用
$('#mobiles'+i).val();
不返回任何内容。 最佳答案
使用$("#mobiles input").length
也应该有效,请检查下一个示例:
function getValues()
{
var xlen = $("#mobiles input").length;
for (i = 0; i < xlen; i++)
{
var data = $("#mobiles #mobiles" + i).val();
console.log(data);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="mobiles">
<input name="mobiles[]" id="mobiles0">
<input name="mobiles[]" id="mobiles1">
<input name="mobiles[]" id="mobiles2">
</div>
<button onclick="getValues()">Get Values</button>
关于javascript - jQuery查找和长度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54673866/