我刚刚注意到一个似乎影响所有版本的 IE(测试 7-10)但不影响 Chrome 或 FF(Windows 7)的问题。当我缓存一个 jquery 对象然后删除其原始目标时,就会出现此问题。
下面的代码本质上是重新排列 div 中的一些图像,以使所选图像首先出现,但我没有使用持有者 div,所以这一切都是在原地完成的。我不想通过将 html 转换为字符串来使事情复杂化,我怀疑这可能是一个众所周知的问题,我只是不知道搜索词,所以如果是这种情况,请赐教!
$lightbox_gallery = $('.gallery-lightbox .lightbox-gallery');
$image = $lightbox_gallery.find('img[data-id=' + image.id + ']').parent();
$image_after = $image.nextAll();
$image_before = $lightbox_gallery.find('> div:first').nextUntil($image);
console.log($image.html()); //returns a string
$lightbox_gallery.html('');
console.log($image.html()); //returns ''
// this works fine in almost anything but IE. Maybe also safari on mac?
$lightbox_gallery.append($image).append($image_after).append($image_before);
编辑:使用克隆功能解决它http://jsfiddle.net/27DKZ/4/