0

嗨,我使用 jquery 加载了一个带有 Image 的 div 里面的其他 div 正在消失。这是CSS

.d1
    {
     position:fixed;
     z-index:999999;
    }
.d2
    {
     position:absolute;
     background:green;
    }

这是我用来在d1中加载图像的行

jQuery(".d1").html(jQuery("<img>").attr("src",eee));

用CSS

<div class="d1">
 <div class="d2"> 
 Text
 <script type="text/javascript">
 jQuery(function ($){
 jQuery("img").click(function($) {
 var eee = jQuery(this).attr('src');
 jQuery(".d1").html(jQuery("<img>").attr("src",eee));
 });
 });
</script>
</div>
</div>

当我运行它时,我无法从d2中找到文本,但是当我在没有脚本的情况下运行它时,意味着文本从d2 可见。我不知道这是 jquery 问题还是错误。当我单击任何图像时, d2正在消失,但它不应该消失到我的观点。在单击任何图像之前, d2是否存在我可以使用 firebug 看到这种差异。有人知道确切的问题是什么吗?

4

4 回答 4

4

发生这种情况是因为您正在设置.d1使用该.html()方法的内容。因此,以前在那里的所有东西都被替换了

于 2013-05-30T14:52:09.877 回答
1

更改此行:

jQuery(".d1").html(jQuery("<img>").attr("src",eee));

用这条线:

jQuery(".d1").append(jQuery("<img>").attr("src",eee));

请注意append,使用html您正在替换的内容html.d1

于 2013-05-30T14:53:11.587 回答
1

使用.html(),您正在用您替换当前的 HTML img

使用.append()div

或者

使用 .prepend() 在div

于 2013-05-30T14:54:11.203 回答
1
<div class="d1">
    <div class="d2">Text</div>
</div>

<script type="text/javascript">
    jQuery(function ($){
        jQuery("img").click(function($) {
            var eee = jQuery(this).attr('src');
            jQuery(".d1").append(jQuery("<img>").attr("src",eee));
        });
    });
</script>

从div中删除脚本,无论如何这是一个好习惯。

于 2013-05-30T14:54:22.253 回答