javascript - Jquery 选择所有具有数据属性通用名称的元素

标签 javascript jquery html

<分区>

我正在尝试使用 jQuery 选择我表单中所有具有相似名称数据属性的输入。

这是我的表格:

<form id = "myForm">
  <input name="name" data-valid-presence=true >
  <input name="age" data-valid-biggerThan="18" >
  <input name="email[0]" data-valid-email=true >
  <input name="email[1]" data-valid-email=true >
</form>

我的 jQuery 选择器是:

var inputs = jQuery("#myForm").find("input[data-valid-email],[data-valid-length],[data-valid-presence], [data-valid-biggerThan]");

我正在寻找一种方法来选择所有具有 data-valid-* 的输入,而不必像这样一个一个地找到它们。

有什么想法吗?

最佳答案

你可以使用 jQuery.filter:

var inputs = $('form').find('input').filter(function() {
    var matched = false;
    $.each(this.attributes, function(attr) {
        if ( matched ) return;
        matched = /^data-valid/.test(this.name);
    });
    return matched;
});

关于javascript - Jquery 选择所有具有数据属性通用名称的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17836384/

相关文章:

HTML - 文本框和 DIV

javascript - 使用 HTML5 播放器时使用 Javascript 更改 Youtube 视频

html - CSS 类不覆盖 Bootstrap

javascript - 如果 cookie 不存在警报和重定向

javascript - HTML/JavaScript : Getting a List of all files and subdirectories in a given directory

javascript - 如何在js中从开头和结尾 trim 空格和换行并用单行替换多个换行和宽空格

javascript - 不使用任何 api 的自动全屏 iframe 视频

jquery - 将 tbody 更新为 div 内容

javascript - focusout 仅在文档​​加载时触发,再也不会触发?

javascript - 在 jQueryUI slider 上的禁用和启用之间切换