<html>
<head>
<script>
function A(){
    $('input[name="B[]"]').each(function() {
        if(('$(this) .BtnSet .Child input:text[name="A[]"]').length){
         //yes the Child class is inside JRow class and has textboxes with name A[]
        }
    });
    return false;
}
</script>
</head>
<body>
<form onsubmit="return A()">
    <div class="row JRow">
     <input type="text" name="B[]"></input>
     <input type="text" name="B[]"></input>
        <div class="BtnSet">
            <div class="Child">
                <input type="text" name="A[]"></input>
                <input type="text" name="A[]"></input>
            </div>
        </div>
    </div>
    <input type="submit" value="Submit"></input>
</form>
</body>
</html>


我需要检查B []是否具有BtnSet类。在它里面,是否有Child类,在里面是否有像A []这样的子元素。我精确地做到了吗?
但是问题是在这种情况下,当我打印alert('$(this).BtnSet .Child input:text [name =“ A []”]')。length)时,lenth总是为45。请给我解释一下原因是什么?它给出的正确长度不是2吗?

最佳答案

我认为数字45是您显然不需要的字符串$(this) .BtnSet .Child input:text[name="A[]"]的长度。您需要的是两个输入元素的长度,该长度在div.BtnSet之内。所以这应该工作

 $(this).siblings("div.BtnSet").first().find("input[name='A[]']").length;

08-04 17:28