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/

10-11 20:06