¿Cuál es la mejor manera de incrementar un valor en un objeto jQuery .data()
?jQuery .data(): posible incrementar (++ o -)?
Respuesta
esto parece un poco extraño, pero según los documentos .data()
devuelve todos los campos de datos como un objeto, por lo que puede cambiar su valor directamente:
$('#id').data('counter', 0);
Ambas opciones funcionan:
$('#id').data().counter++;
$('#id').data()['counter'] += 5;
Recuperar los datos de la declaración del valor esperado:.
alert($('#id').data('counter')); // 6
creo que tendrá que leer el valor y escribir de nuevo, por lo que:
$(element).data('yourKey', $(element).data('yourKey') + 1);
Después de todo, data()
es una llamada a la función, e incrementando el resultado no modificará el valor en sí, que se encuentra en una estructura de datos jQuery interna.
var data = parseInt ($.data("data-attr")) + 1;
$.data("data-attr",data);
O bien, si el control de lo que va a guardar, almacenar una referencia de objeto para que pueda modificar los valores en el objeto directamente usando ++
:
var $elem = $('<div>');
$elem.data('something', {value:1});
$elem.data('something').value++;
console.log($elem.data('something').value); // 2
Gracias! Si bien mi manera de trabajar en este caso particular, la suya es la forma más de JavaScripty de hacerlo, y es la respuesta correcta para el caso general. El suyo puede ser incluso más corto si mantiene la referencia: 'var v = {value: 1}; $ elem.data ('algo', v); /*...*/ v.value ++; ' – Kobi
Es tan simple como el aumento de una variable, simplemente almacenar el valor .data(), incrementarlo y almacenar de nuevo en
Digamos que tiene un número establecido en la variable de datos NumbeR.
var myNumber = $(selector).data('NumbeR');
$(selector).data('NumbeR', myNumber++)
- 1. jquery .data() método
- 2. ¿Cómo funciona jQuery .data()?
- 3. jquery mobile data-icon
- 4. jQuery loop through data() objeto
- 5. Jquery data() storage
- 6. jQuery get post data
- 7. rendimiento de jQuery: seleccione por data-attr o por clase?
- 8. ¿Qué función jQuery data() hace
- 9. jQuery .data() no recuperando datos- *
- 10. Spring JPA Data "O" consulta
- 11. entendimiento Incrementar
- 12. ¿Cómo almacena jQuery los datos con .data()?
- 13. Cómo incrementar una cadena numérica de 1 con Javascript/jQuery
- 14. ¿Cómo incrementar los cambios de tamaño de fuente con jQuery?
- 15. Cómo jQuery data() rompe la referencia circular
- 16. jQuery data() y el evento 'changeData'
- 17. jquery .data no visible en firebug?
- 18. Detener jQuery .data() de la conversión
- 19. jQuery .data() No se actualiza DOM
- 20. Jquery mobile Data-Filter Posición fija/Static
- 21. Jquery ajax data converter to string
- 22. jQuery mobile data-page = 'content' SÓLO transición
- 23. ¿Cómo agregar o incrementar una entrada de diccionario?
- 24. ¿Es posible hacer un menú desplegable sin Javascript o Jquery
- 25. incrementar los punteros de función
- 26. WCF Data Services o Entity Framework
- 27. ¿Debo guardar en plist o Core Data?
- 28. Error posible del selector de clase JQuery
- 29. Cómo incrementar un NSIndexPath
- 30. Cómo incrementar un NSNumber
+1 Buena captura !! – Reigel
Debido al rendimiento, debe evitar llamar a los datos dos veces, así que utilice esto en su lugar: http://stackoverflow.com/a/5656660/318765 – mgutt