jquery附加来自php循环的动态div

时间:2012-02-01 18:42:24

标签: php jquery html position append

以下是我工作的示例小提琴 - http://jsfiddle.net/cuvsc/1/

它做了它应该做的事情。它将子div附加到父div并将child的偏移设置为相对于父div(不是body) 所以当我在父div上面添加br或p标签时,它不会影响父节点中的childs位置。

现在的问题是,当我从php数据库调用生成jQuery代码时,子div的位置不再相对于父级保持不变。

这可能来自客户端服务器端问题以及首先执行的操作吗?小提琴中的代码是来自数据库的代码。

也许我的选择器错了?

这是代码

<?
while ($row = $result->fetch_object())  {
    $dbchildNumber=$row->dbChildNumber;
    $cords=$row->coordTopLeft;
?>
    <div id="child_<?=  $dbchildNumber ?>" class="multidraggable" style="position: absolute;">
    <?=$boothNumber ?>
    </div>
<?php
    $i++;
}
?>

用于定位的父div和jquery代码

    
while ($row = $result->fetch_object())
{
    $arrPos = explode(",", $row->coordTopLeft);
    echo "$('.parent').append($('#child_" . $row->childNumber . "'));\n\n";
    echo "$('#child_" . $row->childNumber . "').offset({left:" . $arrPos[0] . ",top:" . $arrPos[1] . "});\n\n";

    $i++;
}

是从php页面剪切并粘贴的。

我无法弄清楚我错过了什么。有任何想法吗?也许它也会帮助其他人定位或者jQuery使用php?

1 个答案:

答案 0 :(得分:0)

由PHP代码生成的小提琴和html之间的区别在于小提琴具有position: absolute的子元素,但php生成的html设置为postion: relative