У меня есть следующий HTML структуру:Создать OBJ из содержания Div
<div id="main">
<div id="myDiv1">
<ul>
<li>Abc</li>
<li>Def</li>
</ul>
</div>
<div id="myDiv2">
<ul>
<li>Ghi</li>
<li>Jkl</li>
</ul>
</div>
</div>
теперь я хочу, чтобы извлечь какую-то информацию и поместить их в объект так:
var ob = {
'myDiv1' : [ "Abc", "Def"],
'myDiv2' : [ "Ghi", "Jkl"]
};
Мой подход был очень неудобно:
var obj = "{";
$('#main div').each(function() {
obj += "\"" + $(this).attr('id') + "\" : [";
$(this).find('li').each(function() {
obj += "\"" + $(this).text() + "\", ";
});
obj = obj.substring(0, obj.length - 2);
obj += "], ";
});
obj = obj.substring(0, obj.length - 2);
obj += "}";
obj = JSON.parse(obj);
console.log(obj)
В результате я получил массив, но не структуру, в которой я нуждаюсь.
Есть ли лучший способ создать структуру?
Позже, я хочу передать obj
в качестве параметра в вызове Ajax.
'JSON.stringify' ..... – Rayon
@Rayon: Спасибо, но есть ли более удобный способ построения структуры вместе, вместо того, чтобы« добавлять каждую букву вместе », как я? – user336206
https://jsfiddle.net/rayon_1990/gvm2a8cn/3/ – Rayon