Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用类从所有元素中获取id和文本并放入JSON数组_Jquery_Json_Each - Fatal编程技术网

Jquery 使用类从所有元素中获取id和文本并放入JSON数组

Jquery 使用类从所有元素中获取id和文本并放入JSON数组,jquery,json,each,Jquery,Json,Each,我用一个spesific类为所有元素执行一个each函数,但这里它只获取最后一个元素,而不是将所有元素都放入JSON数组 JS小提琴在这里: 以下是HTML: <div id="324834" class="selected_pages">One</div> <div id="436346" class="selected_pages">Two</div> <div id="768653" class="selected_pages">

我用一个spesific类为所有元素执行一个each函数,但这里它只获取最后一个元素,而不是将所有元素都放入JSON数组

JS小提琴在这里:

以下是HTML:

<div id="324834" class="selected_pages">One</div>
<div id="436346" class="selected_pages">Two</div>
<div id="768653" class="selected_pages">Three</div>

对此的任何输入?

对于每个选定的
页面
,您需要创建一个
页面
对象,如下所示

var publish = [];

$('.selected_pages').each(function () {
    var pages = new Object();
    pages.name = $(this).text();
    pages.id = this.id;
    publish.push({
        Pages: pages
    });
});

var json_pages = JSON.stringify(publish);

alert(json_pages)
我建议在这里使用


演示:

对于每个选定的
页面
,您需要创建一个
页面
对象,如下所示

var publish = [];

$('.selected_pages').each(function () {
    var pages = new Object();
    pages.name = $(this).text();
    pages.id = this.id;
    publish.push({
        Pages: pages
    });
});

var json_pages = JSON.stringify(publish);

alert(json_pages)
我建议在这里使用


演示:

JSFIDDLE:

你真的想要这个:

var pages = new Object();
 var publish = [];

 $('.selected_pages').each(function () {
     var page = new Object();
     page.name = $(this).text();
     page.id = this.id;
     publish.push(page);
 });


pages["Pages"] = publish;

 var json_pages = JSON.stringify(pages);

 alert(json_pages)

JSFIDDLE:

你真的想要这个:

var pages = new Object();
 var publish = [];

 $('.selected_pages').each(function () {
     var page = new Object();
     page.name = $(this).text();
     page.id = this.id;
     publish.push(page);
 });


pages["Pages"] = publish;

 var json_pages = JSON.stringify(pages);

 alert(json_pages)
您可以使用
map()
函数在字符串化之前构建数组。试试这个:

var pages = $('.selected_pages').map(function() {
    var $el = $(this);
    return { Pages: { name: $el.text(), id = this.id } };
}).get();
var json_pages = JSON.stringify(pages);
您可以使用
map()
函数在字符串化之前构建数组。试试这个:

var pages = $('.selected_pages').map(function() {
    var $el = $(this);
    return { Pages: { name: $el.text(), id = this.id } };
}).get();
var json_pages = JSON.stringify(pages);

谢谢你的快速回复!太棒了!:)<代码>变量页={}而不是
新对象()
?感谢您的快速响应!太棒了!:)<代码>变量页={}而不是
新对象()