jQuery hat die sehr coole Funktion/Methode ".data", ich frage mich, ob es eine Möglichkeit gibt, die Daten im Code zu haben, so dass jQuery es verwenden kann, wenn das Rendern von HTML getan wird. Angenommen, ich habe einen Repeater und löse Kinder aus, und ich möchte diesen Kindern einige Daten hinzufügen, ohne Klassen zu verwenden. Muss ich diesem Repeater Javascript hinzufügen, nur um den "Daten von Jquery" etwas hinzuzufügen oder gibt es etwas Besseres Weg?Prepopulate jQuery Daten in html
Antwort
Es ist die metadata plugin, die tun könnte, was Sie sprechen über
Zum Beispiel können Sie tun: (Sie können, indem Sie eine Option aus anderen Format auswählen)
<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>
Danach können Sie einfach tun:
var data = $('li.someclass').metadata();
if (data.some && data.some == 'data')
alert('It Worked!');
HTML 5 hat einen neuen Standard für Attribute beginnend mit "Daten". Siehe hier link text.
Sie können dies verwenden, um Daten zu speichern und einen Selektor zum Auslesen der Daten zu verwenden.
Denken Sie darüber nach, "welcher bessere Ort zum Speichern der Daten eines Objekts als das Element selbst"?
Zum Beispiel haben Sie eine Schale mit Obst?
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]
Jetzt rendern Sie die Obstschale auf der Seite?
Fruit.prototype.render = function(){
return createElement('li').html(this.name)
}
$.each(bowl, function(i, fruit){
$('#fruitbowl').append(fruit.render())
}
Ok. Jetzt Sie können fügen Sie das Objekt mit dem Element trivialer durch die letzte Zeile zu ändern und die eigentliche Frucht Objekt zu ihrem Element Renderings Anbringen so:
$('#fruitbowl').data('obj', fruit).append(fruit.render())
Was es verflixt macht einfach, die Daten zuzugreifen, wenn ein Ereignis eintritt . Zum Beispiel der Rendering-Routine ändern, um ein Click-Ereignis umfassen:
Fruit.prototype.render = function(){
var el = createElement('li').html(this.name)
el.click(function(){
alert('You clicked on an ' + $(this).data('obj').name)
}
}
Nun kann man leicht argumentieren, dass es um das Objekt zu duplizieren, indem es auf die Elemente auf diese Weise angebracht wird, da Sie bereits haben die Aufgabe, sowohl dumm ist, im Rahmen des Skripts, und wenn Sie es richtig schreiben, innerhalb der Schließung des Objekts. Und das sind wahrscheinlich gültige Argumente. Aber das, stimme ich zu, ist ziemlich cool :-)
- 1. Prepopulate Django (Nicht-Modell) Formular
- 2. Prepopulate Werte in Token Eingabe Textfeld aus Datenbank mit PHP
- 3. PHP Prepopulate Dropdown von Multidimensional Array
- 4. jQuery senden HTML-Daten über POST
- 5. Passdaten und Daten in PHP-Datei von html jquery php und dann von php jquery html
- 6. Embed rohe Daten in HTML zum Analysieren in jQuery
- 7. Jquery hinzufügen Daten in HTML vor dem Hinzufügen zu DOM
- 8. Html 5 Daten-Attribute in jquery Plugin-Optionen Format
- 9. Anzeige der Daten von Nodejs in HTML
- 10. Ist JQuery (..) .html() fehlerhaft in jQuery 1.3.2?
- 11. jQuery Textbox und html
- 12. HTML einfügen mit jquery .html()
- 13. Wie man json codierte html Daten zu einfachem HTML in jquery zerlegt
- 14. Verwenden von Jquery-Autocomplete-Daten zum Überprüfen von HTML-Kontrollkästchen
- 15. Passwortgeschützte HTML-Daten in QlikView
- 16. Daten zwischen HTML-Seiten teilen
- 17. Javascript/jQuery - Parse lieferte 'Daten' als HTML zur weiteren Auswahl?
- 18. jQuery: html() -Funktion bekomme alte Daten im Formular
- 19. jquery update html mit zurückgegebenen mysql Daten nach POST
- 20. in HTML-Tabelle mit Jquery
- 21. HTML-Grid-Paging in jQuery
- 22. einen HTML-Link in jQuery
- 23. C# parse/fetch Daten von HTML jquery/css-Selektor wie?
- 24. jquery wie kann ich Daten aus html Tabellenzeile
- 25. Uncaught SyntaxError: fehlt) nach der Argumentliste jquery dynamische Daten html
- 26. Ärger html mit JSON-Daten von API Aktualisierung JQuery mit
- 27. HTML Warum senden Schaltflächen in Formularen Daten?
- 28. JQUERY Daten anhängen, bevor
- 29. Inneres HTML mit jQuery erhalten?
- 30. Abrufen boolescher Daten aus Datenattribut in jquery
wie würde das in den verschiedenen Browsern funktionieren? (IE 7, 8, FF 3 Safari 4, Chrome) –
Sie müssten einen XHTML-Doctype verwenden und dann zu einem späteren Zeitpunkt zu HTML5 wechseln. Aktuelle Browser sollten dieses Attribut ignorieren. –