0

私がこのようなHTMLを持っている場合:

<ul>
    <li id="id1">Some Text</li>
    <li id="id2">Other Text</li>
    <-- more items could be here -->
</ul>

リスト内の各リストアイテムのプロパティを含むJSONオブジェクトを含む配列を作成するにはどうすればよいですか?

var itemsData = [
    {
         "id" : id,
         "name" : name
     },
     {
         "id" : id,
         "name" : name
     }
]

where idand nameequal toandwhereは単一のアイテム$(this).attr('id')を指します。$(this).text()$(this)li

4

3 に答える 3

5
itemsData = [];
$('ul > li').each(function(){
   itemsData.push({"id" : this.id, "name" : $(this).text()})
});

デモ(コンソールの出力を参照)

于 2012-06-12T10:51:00.913 に答える
4

を使用して.each

var itemsData = [];

$('li').each(function() {
    var $this = $(this);
    itemsData.push({
      id: $this.attr('id'),
      name: $this.text()
    });
});

console.log(itemsData);
于 2012-06-12T10:51:25.747 に答える
1
var arr = new Array();
$("ul li").each(function(index){
   arr[index]['id'] = $(this).attr('id');
   arr[index]['name'] = $(this).attr('name');
});
于 2012-06-12T10:52:34.033 に答える