-1

单击缩略图图像时会发生此功能;它使用缩略图的 ID 来获取包含图像和一些文本的 div ("item"+f) 的 ID,然后将其粘贴到 "display" div。

问题是我想在每次单击时清除显示 div,因此只显示一个 div,但我在使用“appendChild”时遇到了麻烦(我被告知建议使用 innerHTML)。下面我当前的解决方案是尝试获取显示 div 中的内容并将其附加到隐藏的 div 以便以后可以再次使用,但似乎没有成功。

displayimage 和 removeimage 是我用来保存我正在移动的 div 的 div……这似乎没有意义,但似乎效果更好。如果您发现我的流程有任何问题或如何更好地使用“appendChild”,那将很有帮助。

function thumbclick(clickedimage) {
var f = clickedimage.charAt(clickedimage.length - 1);
displayimage = document.getElementById("item"+f);
removeimage = document.getElementById("display").getElementsByTagName("div")[0];
document.getElementById("galleryimages").appendChild(removeimage);
document.getElementById("display").appendChild(displayimage);
}

我经常收到“未捕获的错误:NOT_FOUND_ERR:DOM Exception 8”,经过研究,这似乎是我没有附加正确类型的元素......但我只是将 div 附加到 div?

编辑:抱歉没有发布足够的细节;评论中的 CN Kanode 似乎有我的问题,显示 div 一开始是空的,所以没有什么要删除的。谢谢!

4

1 回答 1

-2

以下代码应该与您的代码具有相同的效果,仅使用 jQuery,这在操作 DOM 时肯定没有问题:

function thumbclick(clickedimage) {
    var f = clickedimage.charAt(clickedimage.length - 1);
    var removeimage = $('#display div');
    $('#galleryimages').append(removeimage);
    removeimage.remove();
    $('#display div').append($('item'+f));
}​

编辑:您需要将其包含在<head>您的 html 中以使 jQuery 正常工作:

<script src="http://code.jquery.com/jquery-latest.js"></script>
于 2012-12-26T16:04:48.093 回答