我想在每个网页列出的每个母div中找到所有具有id的子类。 这样,子div的id应按mainID分组 - 与ajax帖子一起使用。
但是,我甚至不能在jquery 1.11中获得孩子的身份,更不用说将他们与mainID分组了。
这是到目前为止的代码:
$(".main-column-name").each(function() {
var mainID = $(this).attr('id');
var subid = $(this).find(".subdiv-name").attr("id");
alert(mainID + ' ' + subid );
});
因此,在mainID下面应该是一组subID& - 如果它们当然存在的话。
欢迎任何帮助!!!
答案 0 :(得分:0)
您可以将其写入对象数组,并将子项作为子数组附加到此对象。
var mainEl = $(".main-column-name")
mainArr = [],
childArr = [];
//set the properties in an array to be used later
mainEl.each(function() {
var id = $(this).attr('id')
children = $(this).find('.subdiv-name').attr('id');
children.each(function() {
//add the child IDs to an array
childArr.push($(this).attr('id'))
});
//push all the properties into an array
mainArr.push({ 'name': id, 'children': childArr });
});
//to access the properties, use a loop
$.each(mainArr, function (i, value) {
//get the name
console.log(mainArr[i].name);
//get the children
console.log(mainArr[i].children);
//and to access the child IDs individually, use this loop within the loop
$.each(mainArr[i].children, function(c, id) {
//get the stored value for id
console.log(id)
});
});
尽管如此,请谨慎使用,因为如果有很多孩子和很多父母,在循环中运行循环可能会导致一些性能问题。除此之外,其他人可能会建议更好地提取这些信息......如果我自己想到一个更好的方法,我会更新,但我没有太多时间去研究它。