代码之家  ›  专栏  ›  技术社区  ›  rostamiani

如何查找具有特定数据属性的所有标记?

  •  0
  • rostamiani  · 技术社区  · 10 年前

    我需要使用jQuery查找所有绑定了“错误”数据的标记。 这就是我所做的。它不起作用,因为我用代码添加了数据属性。

    $('form input').data('error',1);
    
    console.log( $('form input[data-error]') ); // This is empty
    

    我如何检索所有这些文件?

    2 回复  |  直到 10 年前
        1
  •  4
  •   charlietfl    10 年前

    使用 filter()

    $('form input').filter(function(){
         return $(this).data('error'); // adjust if boolean not sufficient    
    }).doSomething();
    
        2
  •  0
  •   GibboK    10 年前

    您可以使用本机JavaScript(不需要jQuery),只需使用:

    Document.querySelectorAll() 用一个 Selectors Level 3 (类似于CSS)

    var elms = document.querySelectorAll('[data-animal-type="fish"]');
    console.log(elms.length);
    <li data-animal-type="bird">Owl</li>
    <li data-animal-type="fish">Salmon</li>
    <li data-animal-type="spider">Tarantula</li>

    选择器功能强大,可以进行更高级的选择,如:

    带有字符串“bar”E[foo$=“bar”]的E元素,其“foo” 属性值正好以字符串“bar”E[foo*=“bar”]an E结尾 元素的“foo”属性值包含子字符串“bar”
    E[foo|=“en”]其“foo”属性用连字符分隔的E元素 以“en”开头的值列表(从左侧开始)