2016-08-17 3 views
0

Grußassoziatives Array zu jQuery-Objekt als Attribut hinzufügen

Möchten Sie das assoziative Array zu einem jquery-Objekt hinzufügen?

Beispiele: anstelle von attr

<div id = "element"></div> 

$('#element').attr('_mynumber', 10); 
console.log($('#element').attr('_mynumber'); // OK, _mynumber = 10 

$('#element').attr('_myarray', [1,2,3,9,8,7]); 
console.log($('#element').attr('_myarray'); // OK, _myarray = 1,2,3,9,8,7 

$('#element').attr('_myassoc', {val1: 10, val2: [1,2,3,9,8,7]}); 
console.log($('#element').attr('_myassoc'); // FAIL, _mynumber = [object Object] (only as string), _mynumber.val1 = undefined 
+0

* "Alles!" *, ​​Dass Ton sehr ist hier nicht willkommen. Aber ich denke, Sie können '$ e.data()' –

Antwort

1

Verwendung data auf einem Element zusätzliche Informationen zu speichern.

$('#element').data('_myassoc', {val1: 10, val2: [1,2,3,9,8,7]}); 
 
console.log($('#element').data('_myassoc'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="element"></div>

+0

großen Dank verwenden! Ich bin gerade mit dieser Methode gekommen. Aber diese Methode ist sehr effektiv für häufige Verwendung? – Zhihar

+0

Das hängt davon ab, was Sie mit * frequency * meinen. "Daten" sind im Grunde ein "Getter" und "Setter" auf einem Objekt. Es wäre sicherlich schneller, wenn Sie etwas selbst bauen, aber es ist nicht langsam, weil es ziemlich einfach ist. @ Zhihar – eisbehr

+0

Frequenz: 5-10 mal pro Sekunde – Zhihar