Javascript 如何找到一个类的所有子元素并检查其中是否有空元素?

Javascript 如何找到一个类的所有子元素并检查其中是否有空元素?,javascript,jquery,Javascript,Jquery,我有一个表单,需要检查以确保字段集的任何子输入都是空的。如何使用jQuery实现这一点 如果任何带.required的字段为空 ->有些字段尚未填写 如果所有带.required的字段都已归档 ->它们都已归档请尝试以下操作: <fieldset id="myForm"> <input type="text" required="true" /><br /> <input type="check"

我有一个表单,需要检查以确保字段集的任何子输入都是空的。如何使用jQuery实现这一点

如果任何带.required的字段为空 ->有些字段尚未填写 如果所有带.required的字段都已归档 ->它们都已归档

请尝试以下操作:

    <fieldset id="myForm">
            <input type="text" required="true" /><br />
            <input type="check" required="true" /><br />
            <input type="radio" required="true" /><br />

            <input type="text" required="false" /><br />
            <input type="check" required="" /><br />
            <input type="radio"  /><br />
            <button onclick="$('#myForm').find('input[required=true]').after('<span>null</span>');">Check</button>
        </fieldset>
var emptyRequiredFields = jQuery("#post-form .required:input").not("[value]");







检查
试试这个:

    <fieldset id="myForm">
            <input type="text" required="true" /><br />
            <input type="check" required="true" /><br />
            <input type="radio" required="true" /><br />

            <input type="text" required="false" /><br />
            <input type="check" required="" /><br />
            <input type="radio"  /><br />
            <button onclick="$('#myForm').find('input[required=true]').after('<span>null</span>');">Check</button>
        </fieldset>
var emptyRequiredFields = jQuery("#post-form .required:input").not("[value]");







检查
按表单id和类名选择字段。然后使用
.filter()
将集合缩小为仅包含尚未填写的字段:

var emptyFields = $("#myForm .required").filter(function()
{
    return $(this).val() == "";
});
如果不想对字段执行任何操作,只需要一个布尔值:

var anyEmptyFields = !!emptyFields.length;

按表单id和类名选择字段。然后使用
.filter()
将集合缩小为仅包含尚未填写的字段:

var emptyFields = $("#myForm .required").filter(function()
{
    return $(this).val() == "";
});
如果不想对字段执行任何操作,只需要一个布尔值:

var anyEmptyFields = !!emptyFields.length;
试试这个:

    <fieldset id="myForm">
            <input type="text" required="true" /><br />
            <input type="check" required="true" /><br />
            <input type="radio" required="true" /><br />

            <input type="text" required="false" /><br />
            <input type="check" required="" /><br />
            <input type="radio"  /><br />
            <button onclick="$('#myForm').find('input[required=true]').after('<span>null</span>');">Check</button>
        </fieldset>
var emptyRequiredFields = jQuery("#post-form .required:input").not("[value]");
试试这个:

    <fieldset id="myForm">
            <input type="text" required="true" /><br />
            <input type="check" required="true" /><br />
            <input type="radio" required="true" /><br />

            <input type="text" required="false" /><br />
            <input type="check" required="" /><br />
            <input type="radio"  /><br />
            <button onclick="$('#myForm').find('input[required=true]').after('<span>null</span>');">Check</button>
        </fieldset>
var emptyRequiredFields = jQuery("#post-form .required:input").not("[value]");
试试这个:

试试这个:


我建议:
返回this.value&$.trim(this.value)=''我建议:
返回this.value&$.trim(this.value)=''如果您的验证数据请考虑使用,如果您的验证数据,请考虑使用我的坏,我可以撤消我的下票,如果你会编辑你的帖子。我很惊讶这是可行的——更改值不应该更改属性,而应该更改属性。而且,事实上,
input.hasAttribute(“value”)
在Chrome和FF中返回false,即使输入了文本也是如此,正如我所预料的那样。我猜jQuery实际上并没有检查属性,而是检查属性。事实上,我在投票否决之前进行了测试,但测试中有一个错误返回了假阳性。嘿,对不起!我的错,如果你愿意编辑你的帖子,我可以撤销我的否决票。我很惊讶这是可行的——更改值不应该更改属性,而应该更改属性。而且,事实上,
input.hasAttribute(“value”)
在Chrome和FF中返回false,即使输入了文本也是如此,正如我所预料的那样。我猜jQuery实际上并没有检查属性,而是检查属性。事实上,我在投票否决之前进行了测试,但测试中有一个错误返回了假阳性。嘿,对不起!