javascript - jQuery 获取具有特定参数的子元素数量

标签 javascript jquery html forms

我有以下代码,该代码在提交表单时执行。然而以下逻辑是不正确的,因为其目的是开发一个适用于我的 DOM 中所有表单的通用函数。经过一次又一次的失败后,我最终创建了这个特定于此表单的函数,该函数验证表单中输入字段的值是否与其自定义 defVal 属性相同,如果是,则表单将停止提交,并显示错误消息弹出。

我的问题如下:我如何检查表单的任何子元素是否满足特定参数,例如作为输入字段并具有其 .val() == .attr('defVal')?

我已经尝试过使用 .find()、.children() 和 .childNode 功能。有人可以建议我一个好的解决方案吗?如果可能的话请解释一下你的代码

HTML:

<div class="login" align="center">
<div class="formWrapper">
    <form action="index.php?r=backoffice" method="post">
        <input type="text" name="USERNAME" required value="username" defval="username" maxlength="16">
        <input type="password" name="PASSWORD" required value="password" defval="password" maxlength="16">
        <input type="reset" value="reset">
        <input type="submit" value="submit">
        <hr/>
        <a href="#" class="helpLink">Can't log in?</a>
    </form>
</div>
<div class="infoWrapper">
    <div class="info">

    </div>
</div>

jQuery:

$('div.login').ready(function(){
$('div.login form').submit(function(e){
    if( $('div.login form input').val()==$('div.login form input').attr('defVal') ){
        var numMsgs=$('div.login form').children();
        if( numMsgs.length<=6 ){
            var formHtml=$('div.login form').html();
            $('div.login form').html('<a class="sysMsg" href="#">error::invalid username/password</a>'+formHtml);
            $('div.login form a.sysMsg').addClass('errFatal').fadeIn(300).delay(5000).fadeOut(300);
        }
    e.preventDefault();
    }
});

});

最佳答案

尝试(这种模式)

$(function () {
    var elems = $(".login input[defval]");
    console.log(elems.length);
    $.each(elems, function (i, el) {
        if ($(el).val() === $(el).attr("defval")) {
            // do stuff
            console.log(i, $(el).val() === $(el).attr("defval"), $(el));
        };
    });
});

jsfiddle http://jsfiddle.net/guest271314/9578v/

关于javascript - jQuery 获取具有特定参数的子元素数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24462530/

相关文章:

javascript - 从字符中获取文本并使用 jQuery

javascript - 是否可以在不拉伸(stretch)或显示滚动条的情况下将幻灯片中的所有图像设为全尺寸

javascript - 从 .on 更改后,不会触发 .click

html - 使用 wkhtmltopdf 生成 pdf 在分页符处插入空格

javascript - 如何从 HTML 文件中获取脚本并将其移动到它自己的 .JS 文件中?

javascript - 在内存中以编程方式缩小 Javascript

javascript - 无法复制 Javascript/Jquery 插件

javascript - 调用一次函数时换行

javascript - 调整大小停止后无法再次调整垂直标尺的大小

javascript - 如何使用在浏览器中正确呈现的混合内部和外部 HTML 内容替换内部 HTML 内容