使用存在通配符模式的属性名称的jQuery选择元素

时间:2018-11-02 12:50:02

标签: jquery jquery-selectors

我有带有自定义数据属性的HTML元素,这些属性的结尾有不同,但以相同的开头(不是值,而是属性名称本身)。这些属性可能有价值。我怎样才能全部选择呢?

<div data-validator-required> DIV 1</div>
<div data-validator-number="5.2"> DIV 2</div>
<div data-validator-submit> DIV 3</div>
<div data-validator-pattern="\d{5}-\d{3}-\d"> DIV 4</div>

我想选择所有具有data属性且名称为“ data-validator-*”的元素。为此,正确的jQuery选择器是什么?

1 个答案:

答案 0 :(得分:0)

尝试一下,您就可以完成...简单又容易...

$('div').filter(function() {
  for (attr of this.attributes)
    if (attr.name.startsWith("data-validator")){
      alert($(this).text());
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-validator-required> DIV 1</div>
<div data-validator-number="5.2"> DIV 2</div>
<div data-validator-submit> DIV 3</div>
<div data-validator="\d{5}-\d{3}-\d"> DIV 4</div>