繁体   English   中英

如何通过jQuery将元素插入现有HTML?

[英]How to insert element into existing HTML by jQuery?

我有HTML代码段:

<div class="main-photo" style="height: 304.875px;">
     <img class="big-thumb" src="blob:http://localhost:8080/cf4ffcff-7322-44dc-8c46-3c29ef165378" style="top: -27px;">
</div>

当鼠标悬停时,我需要结果:

<div class="main-photo" style="height: 304.875px;">
    <a class="fancybox fancybox.iframe" href="blob:http://localhost:8080/cf4ffcff-7322-44dc-8c46-3c29ef165378">
         <img class="big-thumb" src="blob:http://localhost:8080/cf4ffcff-7322-44dc-8c46-3c29ef165378" style="top: -27px;">
    </a>
</div>

当将鼠标悬停在图片上时,我尝试使用jQuery这样的方法(存根提示):

$('.main-photo').hover(function() {
    $('.main-photo ').append()..attr('class', 'fancybox fancybox.iframe');
});

但没有用

您将需要包装/解开anchor元素,从图像中动态获取anchor的源会更好。

 $('.main-photo').hover(function() { var $img = $(this).find('img'), $a = $('<a />', { 'class': 'fancybox fancybox.iframe', href: $img.attr('src') }); $img.wrap($a) }, function() { $(this).find('img').unwrap() }); 
 .main-photo { border: 1px solid grey; } .fancybox { border: 1px solid green; background-color: lightblue; display: inline-block; padding: 10px; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div class="main-photo" style="height: 304.875px;"> <img class="big-thumb" src="//placehold.it/64X64" style="top: -27px;"> </div> 

您可能要尝试以下操作:

$('.main-photo').hover(function() { 
   $(this).find("img").wrap('<a class="fancybox fancybox.iframe" href="blob:http://localhost:8080/cf4ffcff-7322-44dc-8c46-3c29ef165378"></a>');
}, function(){
   $(this).find('img').unwrap();
});
$('.main-photo').hover(function() {
    $('.main-photo ').append()..attr('class', 'fancybox fancybox.iframe');
});

尝试将您的代码更改为此

$('.main-photo').hover(function() {
    $('.main-photo ').append("<a class="fancybox fancybox.iframe" href="blob:http://localhost:8080/cf4ffcff-7322-44dc-8c46-3c29ef165378">");
    $(".big-thumb").append("</a>");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM