Javascript 在DOM元素和子元素之间循环以创建JS数组—在理解实现这一点的最佳方法时遇到困难

Javascript 在DOM元素和子元素之间循环以创建JS数组—在理解实现这一点的最佳方法时遇到困难,javascript,jquery,arrays,Javascript,Jquery,Arrays,我感谢你在我这个问题上花费的时间 项目 我妈妈是一位艺术老师,她花了很多时间为她的项目制作剪纸指南。我正在为她开发一个工具,使她能够通过自己的网站快速构建和共享指南。她的站点是用wordpress构建的,所以我使用jQuery和jQuery UI构建了这个工具。下面是它的实际运行情况: UI运行良好,可以继续保存数据,这就是我遇到的问题 问题 我想基于jquery创建的DOM元素创建一个数组。计划是将数组保存到WordPress,然后使用它重建指南以供查看/编辑 基本DOM结构如下所示: 函

我感谢你在我这个问题上花费的时间

项目

我妈妈是一位艺术老师,她花了很多时间为她的项目制作剪纸指南。我正在为她开发一个工具,使她能够通过自己的网站快速构建和共享指南。她的站点是用wordpress构建的,所以我使用jQuery和jQuery UI构建了这个工具。下面是它的实际运行情况:

UI运行良好,可以继续保存数据,这就是我遇到的问题

问题

我想基于jquery创建的DOM元素创建一个数组。计划是将数组保存到WordPress,然后使用它重建指南以供查看/编辑

基本DOM结构如下所示:

函数saveGuide(){
numberOfSheets=$(“.sheet”)。长度;
控制台日志(“张数:”,张数);
床单计数器=1;
对于(i=0;i

您可以使用获取特定元素的子元素。如果设置选择器,则仅返回匹配的子级

在您的情况下,您应该使用
$(this).children('.piece')
(或示例中的
$sheet.children('.piece')
)获取与每个工作表相关的工作表:

函数saveGuide(){
返回$(“.sheet”)
.map(函数(){
var$sheet=$(本);
返回{
sheetName:$sheet.attr(“数据id”),
宽度:($sheet.width()+1)/80,
高度:($sheet.height()+1)/80,
//绘制工作表中的各个部分
件:$sheet.children(“.piece”)
.map(函数(){
var$piece=$(本);
返回{
pieceName:$piece.attr(“数据名”),
pieceColor:$piece.attr(“数据颜色”),
工件宽度:($piece.width()+4)/80,
工件高度:($piece.height()+4)/80,
pieceXPOS:$piece.position().left/80,
工件定位:$piece.position().top/80
};
})
.get()
};
})
.get();
}
var saveSheets=saveGuide();
log(“页数:”,saveSheets.length);
var myJSON=JSON.stringify(存储表);
log(myJSON)

您可以使用获取特定元素的子元素。如果设置选择器,则仅返回匹配的子级

在您的情况下,您应该使用
$(this).children('.piece')
(或示例中的
$sheet.children('.piece')
)获取与每个工作表相关的工作表:

函数saveGuide(){
返回$(“.sheet”)
.map(函数(){
var$sheet=$(本);
返回{
sheetName:$sheet.attr(“数据id”),
宽度:($sheet.width()+1)/80,
高度:($sheet.height()+1)/80,
//绘制工作表中的各个部分
件:$sheet.children(“.piece”)
.map(函数(){
var$piece=$(本);
返回{
pieceName:$piece.attr(“数据名”),
pieceColor:$piece.attr(“数据颜色”),
工件宽度:($piece.width()+4)/80,
工件高度:($piece.height()+4)/80,
pieceXPOS:$piece.position().left/80,
工件定位:$piece.position().top/80
};
})
.get()
};
})
.get();
}
var saveSheets=saveGuide();
log(“页数:”,saveSheets.length);
var myJSON=JSON.stringify(存储表);
log(myJSON)