How to get elements by a specific value of a custom attribute in jQuery?

后端 未结 4 1380
天命终不由人
天命终不由人 2021-01-19 16:28

I have a custom attribute called data-role and I\'d like to find all elements where data-role=\"content\" in jQuery.

4条回答
  •  清歌不尽
    2021-01-19 17:06

    $("tagName[attribute='value']")
    

    Or, in your case:

    $("div[data-role='content']")
    

    Will return the right elements.

    From there, if you wanted to iterate over the set of elements that match this selector and do something evil, you could:

    $("[data-role='content']").each(function(index){
    
         Do something evil
         $(this) is the current element in the iteration
    });
    

    Please note that the tagName is optional. JQuery selectors can be concatenated at will, so you can query simulataneously for tagname (simple string), id (prefaced by #), class (prefaced by .) or attribute (in square brackets as above), or for any limited combination of them eg:

     $("tagName#someId.someClass.someOtherClass[attribute='value']")
     $("[attribute='value']")
     $('tagName')
     $('#someId')
    

    Are all valid queries, however keep in mind that jquery will only return elements that match ALL conditions in the query.

提交回复
热议问题