0

我认为标题是不言自明的。我有许多从数据库中获取产品的 php 代码生成的 div。问题是当我将它们拖到两个容器(也是 div)之间时,我无法将它们全部返回到第一个容器,因为产品 div id 相同,并且它从容器 1 --> 2 重复而不是从容器向后2 --> 1.(2个容器有并且所有产品div都有相同的id)。我可以通过在产品的 div id 中添加 +1 来解决这个问题(因此它们具有不同的 id),但这样我就不能使用 css 中的 id。有什么解决办法吗?这是js代码

<script type="text/javascript">
            function allowDrop(ev){
                ev.preventDefault();
                }
            function drag(ev){
                ev.dataTransfer.setData("Text",ev.target.id);
                }
            function drop(ev){
                if (ev.target.id == "container"){
                var data=ev.dataTransfer.getData("Text");
                ev.target.appendChild(document.getElementById(data));
                ev.preventDefault();
                }}
        </script>

提前致谢

4

3 回答 3

1

你不能有两个具有相同 id 的 div。尝试使用类。

你的drop()函数应该是这样的:

function drop(ev){
   if ( ev.hasClass('container') ) {
            // do some stuff
   }
}

.addclass()您可以使用 jQuery方法动态添加类。

于 2012-05-13T10:44:51.103 回答
1

ID 必须是唯一的,HTML 才有效。当您复制 ID 时,会发生奇怪的事情。即使您设法让它在一个浏览器中运行,其他浏览器也可能以不同的方式处理事情。您可以尝试改用类。

于 2012-05-13T10:46:59.567 回答
0

我已经通过对 php 生成的 div 使用递增的 id 解决了这个问题。怎么 tha 不是我想要的解决方案之一。感谢您的帮助

于 2012-05-14T17:49:06.590 回答