2013-02-13 182 views
0

我的目的是动态加载图像,我使用jQuery。 假设在网页中它们是一个<fieldset>元素,其中包含5个图像,在<fieldset>下面有两个链接(linkA和linkB)。当鼠标悬停在linkA上时,我喜欢加载5个图像从服务器A加载并显示在<fieldset>;当悬停在linkB上时,来自服务器B的5个图像显示在<fieldset>中。为何隐藏新元素附加到的旧元素时隐藏新元素?

我的实现是为鼠标悬停在linkA上的图像集A创建<fieldset>A第一次;当鼠标移动到linkB时,隐藏<fieldset>A,然后创建<fieldset>B并加载图像设置B.当鼠标移回到linkA时,隐藏<fieldset>B并显示<fieldset>A

这里是我的问题,当加载页面时,我鼠标移到林卡,页面充当期望离子,但是当鼠标移动到LINKB,我追加<fieldset>B<fieldset>A和隐藏<fieldset>A<fieldset>B不显示任何。

下面是代码:FIELDA已创建

$.ajax({url:dUrl, success:function(result){ 
    var fieldB = $("<fieldset></fieldset>"); 
    fieldB.attr("id", cPath); 
    fieldB.html(result); 
    fieldA.append(fieldB); 
    fieldA.hide(); 
}}); 

我新的网络编程,这是使用jQuery一个错误的方式?这是一个错误的方式来实现动态加载图片?任何人都可以给我一个帮助吗?非常感谢。

+6

为什么晚上黑暗?我不想粗鲁,但如果你*追加一个节点到隐藏的另一个节点,你为什么期望任何* childNode *都可见?这完全没有道理,是吗? – jAndy 2013-02-13 10:19:11

+0

true,true :) :) :) – kidwon 2013-02-13 10:20:12

回答

1

而不是使用.append(其中添加一个元素在其他),你应该尝试使用.after(追加元素后给定的元素)。

+0

非常感谢,我混淆了.append和.after,问了一个愚蠢的问题。 ;) – user2065075 2013-02-13 16:42:05