web-dev-qa-db-fra.com

Sélectionner des éléments par attribut de données HTML5 dans jQuery

Est-il possible de sélectionner des éléments dans jQuery par leurs attributs HTML5 data (par exemple, tous les <div> avec data-role='footer')?

47
Diogo Cardoso

Vous pouvez sélectionner un attribut data- Comme tout autre attribut ... à l'aide d'un sélecteur d'attribut . Dans ce cas, vous voulez le sélecteur égal d'attribut , comme ceci:

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

Ils sont traités spécialement en consommation par jQuery, par ex. permettant à .data() de les récupérer avec un typage correct ... mais en ce qui concerne la traversée DOM, ce ne sont que des attributs, alors pensez-y comme tels lorsque vous écrivez des sélecteurs.

92
Nick Craver
$('div[data-role="footer"]')

Cela utilise simplement le attribute-equals-selector(documents) .

Il y a plusieurs sélecteurs d'attributs que vous pouvez utiliser (entre autres).

8
user113716

jQuery Mobile recommande $ .fn.jqmData (), par exemple: $ ("div: jqmData (role = 'footer')")

Source: http://jquerymobile.com/test/docs/api/methods.html

5
danpop

intégration jQuery & Zepto: https://github.com/kossnocorp/role

0
darthwade