0
<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) を出力するときです。長さは常に 45 になります。説明してくださいその理由は?それは正しい長さを2として与えませんか?

4

3 に答える 3

2
$(this).find("*[class='BtnSet']").length;

@CoursesWeb$(this)が指摘したように、これらは name=b[] の入力要素の子ではなく、兄弟でsiblingsあるため、そのために使用する必要があります。

 $(this).siblings("*[class='BtnSet']").length;
于 2013-09-20T05:25:06.770 に答える
0

45という数字は、明らかに必要のない文字列 の長さだと思います。$(this) .BtnSet .Child input:text[name="A[]"]必要なのは、 内にある 2 つの入力要素の長さですdiv.BtnSet。だからこれはうまくいくはずです

 $(this).siblings("div.BtnSet").first().find("input[name='A[]']").length;
于 2013-09-20T05:30:00.217 に答える
0

BtnSet は B[] の内部ではありませんが、row jRowB[] のように の子です。

テキスト入力タグには子アイテムがありません。

于 2013-09-20T05:26:51.460 に答える