Ich habe eine einfache Frage!Holen Sie `li` Elemente und schieben Sie es in Objekt
Ich habe diese html
und js
:
<ul>
<li id="x">foo</li>
<li id="y">bar</li>
</ul>
var data = {
'language': 'fa',
'phrases': {},
};
Ich möchte alle li
im phrases
von data
anhängen für diese Ausgabe haben:
{"language":"fa","phrases":{"x":"foo","y":"bar"}}
Ich versuche dies:
data.phrases.$(this).attr('id') = $(this).html();
Und t diese ry push
:
data.phrases.push({$(this).attr('id') : $(this).html()});
Und versuchen extend
dies:
data.phrases.extend({$(this).attr('id') : $(this).html()});
Aber funktioniert nicht!
Abgeschlossen Code:
<ul>
<li id="x">foo</li>
<li id="y">bar</li>
</ul>
<div id="result"></div>
var data = {
'language': 'fa',
'phrases': {},
};
//I want to append all `li` in the `phrases` of `data` for have this output:
//{"language":"fa","phrases":{"x":"foo","y":"bar"}}
$("li").each(function() {
//data.phrases.$(this).attr('id') = $(this).html();
//data.phrases.push({$(this).attr('id') : $(this).html()});
//data.phrases.extend({$(this).attr('id') : $(this).html()});
});
$("#result").html(JSON.stringify(data));
Sehen Sie hier Online-Code: https://jsfiddle.net/NabiKAZ/fw63jd5k/
dieses => Daten versuchen zu tun, wollen [ "Sätze"] [$ (this) .attr ('id')] = $ (this).html(); –