从HTML围绕其他图像包裹现有链接?

时间:2014-11-01 10:14:33

标签: javascript jquery html

如何使用class =“link”克隆现有链接并将其包装在div“wrap”中的每个img周围?假设我们不知道链接,所以我们不能只使用这种方法:

$('#wrap img').wrap('<a href="http://foo.com"></a>');

HTML:

<a href="http://foo.com" class="link">
    <img/>
</a>
<div id="wrap">
    <img class="img" />
    <img class="img" />        
    <img class="img" />
</div>

结果:

<a href="http://foo.com" class="link">
    <img/>
</a>
<div id="wrap">
      <a href="http://foo.com" class="link"><img class="img" /></a>
      <a href="http://foo.com" class="link"><img class="img" /></a>    
      <a href="http://foo.com" class="link"><img class="img" /></a>
</div>

4 个答案:

答案 0 :(得分:1)

这样做:

var anchor = $(".link");
anchor.html('');
$("#wrap img").wrap(anchor);

答案 1 :(得分:1)

您可以使用outerHTML属性:

var link = $('.link').clone().empty().prop('outerHTML');
$('#wrap img').wrap(link);

答案 2 :(得分:1)

您可以尝试这一行:

$('#wrap img').wrap('<a href="' + $('a.link').prop('href') + '">');

要克隆没有子元素的元素:

$('#wrap img').wrap($('a.link').clone().empty());

答案 3 :(得分:0)

如果未加载图片,则会创建图像尺寸,如果显示错误图像,则将其调入图片。

<div id="hekimResimMini"><img src="" id="imgHekimResim" alt="" width="40" height="55" ></div>


    $('#imgHekimResim').load(function(){})
    .attr("src", "./personelResimi.jpeg?kurSicNo="+lcd.list[x].DOKTORID)
    .error(function() { 
        var thisImg = this;
        if ( $.browser.msie ) {
           setTimeout(function() {
              if ( ! thisImg.complete ) {
                 $(thisImg).attr('src', '../../images/error.png');
                 $(thisImg).css('width','40').css('height','27').css('margin-top','14px').css('margin-bottom','14px');
              }
           },250);
        } else {
           $(this).attr('src', '../../images/error.png');
           $(thisImg).css('width','40').css('height','27').css('margin-top','14px').css('margin-bottom','14px');
        }
    });