jQuery tiene la función/método muy genial ".data", me pregunto si hay una forma de tener los datos en el código para que jQuery pueda usarlos cuando se termine la renderización de html. Supongamos que tengo un repetidor y un bucle para niños, y quiero agregar algunos datos a esos niños sin usar clases, etc. ¿Tendré que agregar javascript a ese repetidor solo para agregar cosas a los "datos de jquery" o hay algún mejor ¿camino?Datos JQuery rellenos previamente en html
Respuesta
No es el metadata plugin que podría hacer lo que está hablando
Por ejemplo, se puede hacer: (Usted puede elegir entre diferentes formatos mediante el establecimiento de una opción)
<li class="someclass {some: 'data'} anotherclass">...</li>
OR
<li data="{some:'random', json: 'data'}">...</li>
OR
<li><script type="data">{some:"json",data:true}</script> ...</li>
OR
<li data-some="'random'" data-json="'data'">...</li>
Después de que pueda simplemente hacer:
var data = $('li.someclass').metadata();
if (data.some && data.some == 'data')
alert('It Worked!');
HTML 5 tiene un nuevo estándar para los atributos que comienzan con "Data-". Vea aquí link text.
Puede usar esto para almacenar datos y usar un selector para analizar los datos.
¿Estás pensando "qué mejor lugar para almacenar los datos de un objeto que en el elemento en sí"?
Por ejemplo, ¿tiene un tazón de fruta?
function Fruit(name, color){
this.name = name
this.color = color
}
var apple = new Fruit("apple", "red")
var orange = new Fruit("orange","orange")
var bowl = [apple, orange]
¿Ahora representa el frutero en la página?
Fruit.prototype.render = function(){
return createElement('li').html(this.name)
}
$.each(bowl, function(i, fruit){
$('#fruitbowl').append(fruit.render())
}
Ok. Ahora puede agregar el objeto al elemento trivial cambiando la última línea y adjuntar el objeto fruta real a sus representaciones de elementos así:
$('#fruitbowl').data('obj', fruit).append(fruit.render())
que hace que sea bastante maldito fácil de acceder a los datos cuando se produce un evento . Por ejemplo, cambiar la rutina renderizado para incluir un evento de clic:
Fruit.prototype.render = function(){
var el = createElement('li').html(this.name)
el.click(function(){
alert('You clicked on an ' + $(this).data('obj').name)
}
}
Ahora uno puede fácilmente argumentar que es tonto para duplicar el objeto de su anexión a los elementos de esta manera, puesto que ya tiene el objeto al mismo tiempo, en el alcance de la secuencia de comandos, y si lo escribe bien, dentro del cierre del objeto. Y estos son probablemente argumentos válidos. Pero esto, estoy de acuerdo, es genial :-)
- 1. Modificación de tipos de datos de columna DataTable rellenos
- 2. Enviar usuario para crear un nuevo Issue GitHub con datos de errores pre-rellenos
- 3. Recuperando atributos de datos HTML usando jQuery
- 4. Capybara: formularios rellenos y save_and_open_page
- 5. Incrustar datos brutos en HTML para analizar en jQuery
- 6. jQuery: función html() obtener datos antiguos en el formulario
- 7. ¿Cómo envío datos de formulario HTML a PDF?
- 8. Usar jQuery en HTML
- 9. ¿Cómo inicializar un TreeMap con datos ordenados previamente?
- 10. Insertar html usando jquery .html()
- 11. ¿JQuery (..). Html() tiene errores en jQuery 1.3.2?
- 12. jQuery HTML a JSON
- 13. jQuery enviar datos HTML a través de POST
- 14. ¿Cómo ignoro HTML al filtrar una tabla de datos jQuery?
- 15. Eliminación de atributos de datos de HTML usando jQuery
- 16. jQuery reemplazar html en lapso
- 17. Convierta datos json en una tabla html
- 18. jQuery DataTables mostrar contenido HTML
- 19. Compartir datos entre páginas html
- 20. Insertar HTML en DIV usando jQuery
- 21. JQuery clic() no funciona en html reemplazado
- 22. datos personalizados en jQuery ordenable?
- 23. jquery .html() no funciona en ie8
- 24. Escribir HTML con jQuery
- 25. Atributos HTML personalizados y jQuery
- 26. jQuery - modificar cadena HTML
- 27. Eliminando expectativas previamente definidas en JMockit
- 28. ¿Rellene previamente un FormSet en línea?
- 29. Obtener información previamente ingresada en Django FormWizard
- 30. jQuery UI sin HTML
¿cómo funcionaría eso en los diferentes navegadores? (IE 7, 8, FF 3 Safari 4, Chrome) –
Tendría que usar un doctype XHTML, y luego pasar a HTML5 en una etapa posterior. Los navegadores actuales deben ignorar ese atributo. –