Seleccionar elementos que he configurado previamente con jquery.data();
es decir, seleccione todos los elementos que .data('myAttr')
ya se han configurado.
SOLUCIÓN
Un jsfiddle para demostrar es Fiddle
javascript
jquery
jquery-selectors
Argiropoulos Stavros
fuente
fuente
$('[data-myAttr]')
La mejor y más sencilla forma de seleccionarlos es:
Más información:
Probé muchas cosas.
El uso
$('[data-myAttr!=""]')
no funciona en todos los casos. Porque los elementos que no tienen undata-myAttr
conjunto tendrán sudata-myAttr
igualundefined
y$('[data-myAttr!=""]')
los seleccionarán también, lo cual es incorrecto.fuente
Puede usar filter () :
fuente
$('[data-myAttr]')
?data()
formulario getter de hecho lee losdata-
atributos HTML5 , pero su formulario setter no los crea ni los actualiza.Puede usar esta extensión de jQuery Selector: Consultando datos de elementos
fuente
Puede usar la interfaz de usuario de JQuery con el selector: data ()
Mira este jsfiddle para ver un ejemplo
Para que todos los elementos coincidan
.data('myAttr')
, puede usarEsto debería funcionar tanto para elementos con
data-
atributos como para elementos con datos almacenados usando$.data()
porquePero esto no funciona muy bien. Mira este jsfiddle y verá que la segunda vez que se llama al selector, debe coincidir con 2 elementos y solo coincide con uno. Esto se debe a "un error" en la biblioteca jquery-ui.
Esto se toma del archivo principal jquery-ui.
Como puede ver, están usando en su
$.data(elem, match)
lugar, lo$(elem).data(match)
que hace que la caché no se actualice en caso de que esté solicitando elementos condata-
atributos. Si el elemento ha sido probado paradata()
almacenamiento, esto funciona bien, pero si no, no se incluirá en las coincidencias resultantes.Esto podría no ser un error en absoluto si lo que desea es hacer coincidir solo los elementos con la información de datos establecida por usted, pero si no, le quedan dos opciones.
No use jquery-ui y extienda su propio pseudo-selector
$(:mydata(myAttr))
Mostrar fragmento de código
Use jquery-ui con el
:data
pseudoselector y una los resultados de la selección[data-myAttr]
para incluir los que podrían omitirseMostrar fragmento de código
fuente
fuente
Intenta utilizar
jQuery.data()
jsfiddle http://jsfiddle.net/xynZA/142/
fuente
html
data-*
conjunto de atributos, así como unjQuery.data()
conjunto?