<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;