使用jquery检索chid div的id?

请看下面的代码..

Save

Block 1

Item 1
Item 2
Item 3

Block 2

Item 4
Item 5
Item 6
$("#click_me").click(function() { var result = $("#blocks_sortable > div"); for(var i=0; i div"); for(var j=0; j<result2.length; j++){ var item = result2[j]; str2 += $(item).attr("id")+","; } //end for items str = str+str2; // looking for a final string in the format of .. block=block_1&items=item_1,item_2,item_3 for loop 1 alert(str); } });

它不起作用。 有没有更容易和有效的解决方案来获得这些ID。 请帮忙。

谢谢。

jQuery地图function是你的朋友

 $.map( $("#blocks_sortable > div"), function(elementOfArray){ var block = $(elementOfArray); var children = $.map( $("div[id]", block), function( eoa ){ return eoa.id; }).join(","); return elementOfArray.id + "=" + children; } ).join(","); 

将返回"block_1=item_1,item_2,item_3,block_2=item_4,item_5,item_6" ,这会让您更接近您的目标(我认为)。

编辑: 解决方案和来源在这里。

当你调用str += "block="+$(block).attr("id")+"&items=";我认为你得到一个错误str += "block="+$(block).attr("id")+"&items=";

.attr无效,因为block是dom元素而不是jquery对象。 你也有与var项目相同的问题。

工作解决方案就在这里 。 演示就在这里 。

这个javascript修复了它:

  $("#click_me").click(function() { var result = $("#blocks_sortable > div"); for(var i=0; i div > div"); for(var j=0; j 
  $("#click_me").click(function() { var result = $("#blocks_sortable > div"); for(var i=0; i div"; var result2 = $(inner_span).children(); for(var j=0; j 

尝试没有“>”

 var result = $("#blocks_sortable div");