php - 使用jquery检索子div的id?

标签 php javascript jquery jquery-selectors

请查看下面的代码..

                <div id="click_me">Save</div> 


<div id="blocks_sortable">
    <div id="block_1">
        <h2>Block 1</h2>

        <div class="items_sortable connectedSortable">
            <div id="item_1"> 
                <span>Item 1</span></div>   
            <div id="item_2"> 
                <span>Item 2</span></div>
            <div id="item_3"> 
                <span>Item 3</span></div>
        </div>
    </div>  
    <div id="block_2">
        <h2>Block 2</h2>

        <div class="items_sortable connectedSortable">
            <div id="item_4"> 
                <span>Item 4</span></div>   
            <div id="item_5"> 
                <span>Item 5</span></div>
            <div id="item_6"> 
                <span>Item 6</span></div>
        </div>
    </div>
</div>

<script>
    $("#click_me").click(function() {
            var result = $("#blocks_sortable > div");

            for(var i=0; i<result.length; i++){
                var str = ""; 
                var str2 = "";
                var block = result[i]; //div object

                //retrieve block id and create the string with id
                str += "block="+$(block).attr("id")+"&items=";

                //trying to select all the items of the current Block
                var result2 = $(block+" > 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);
            }
    });
</script>

它不工作。有没有更简单有效的解决方案来获取这些 id。请帮忙。

谢谢。

最佳答案

jQuery map函数是你的 friend

$.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”,这会让你更接近你要去的地方(我认为)。

编辑: Solutionsource在这里。

关于php - 使用jquery检索子div的id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2599971/

相关文章:

javascript - AngularJS:什么是 $templateCache?

javascript - 使用溢出时隐藏滚动条 :scroll; but keep scrolling ability

php - 如何从android发送多个数组作为json并在php中读取?

php变量异常行为

javascript - SVG 蒙版和悬停动画

javascript - 如何刷新天气图层?

php - 无法将外部文件链接到 php

php - 如何使用sqlsrv和 "?"样式参数在php中执行存储过程

JavaScript 将人类可读的日期转换为 unix 时间戳,然后再转换回来

javascript - 是否可以通过 ajax 从 php 返回 javascript 函数?