Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

creating json from DOM elements using jQuery

Tags:

json

jquery

dom

If I have the following DOM elements

<div class="item">content1</div>
<div class="item">content2</div>

how, using jQuery and Javascript, do I construct a JSON object like the following?

[{ 
'classname': 'item',
'content': 'content1'
}
{
'classname': 'item',
'content': 'content2'
}]

Any recommended further reading?

like image 456
bento Avatar asked Mar 29 '12 19:03

bento


2 Answers

var data = $('div.item').map(function(){
    return {
        classname: 'item',
        content: $(this).text()
    };
}).get();

DEMO: http://jsfiddle.net/nDE7e/

like image 81
Rocket Hazmat Avatar answered Oct 24 '22 19:10

Rocket Hazmat


http://jsfiddle.net/24JjD/

var datas = [{ 
    'classname': 'item',
    'content': 'content1'
    }, {
    'classname': 'item',
    'content': 'content2'
    }
];

$.each(datas, function(key, value) {
    $('body').append('<div class="'+value.classname+'">'+value.content+'</div>');
});​

Correct answer :

http://jsfiddle.net/tS9r5/

var datas = [];

$('div.item').each(function() {
   var data = { 
       classname: this.className, 
       content: $(this).text()
   };
   datas.push(data);
});

console.log(datas);

like image 25
Adrien Schuler Avatar answered Oct 24 '22 19:10

Adrien Schuler