2010-06-22 3 views
1
내가 jQuery를의 도움으로 링크로 내 이미지를 만들고 싶어

:jQuery를에 insertbefore, insertafter 속성 문제

$("img:gt(0)").each(function() { 
      var curr = $(this); 
      if (curr.width() >= 500) { 
       var m = 500/curr.width(); 
       curr.height(curr.height() * m); 
       curr.width(curr.width() * m); 
      } 
      $("<a href='" + curr.attr("src") + "'>").insertBefore(curr); 
      $("</a>").insertAfter(curr); 
     }); 

그러나 내가 갖는 :

<a href="/Images/7827-1280x800.jpg"></a> 
<img height="800" width="1280" src="/Images/7827-1280x800.jpg" alt="" style="height: 312.5px; width: 500px;"> 

대신에 :

<a href="/Images/7827-1280x800.jpg"> 
<img height="800" width="1280" src="/Images/7827-1280x800.jpg" alt="" style="height: 312.5px; width: 500px;"> 
</a> 

답변

2

이렇게하지 않아도됩니다. 이것을 수행하려면 wrap을 사용할 수 있습니다.

curr.wrap("<a href='" + curr.attr("src") + "' />"); 
1

당신은 jQuery를

$("img:gt(0)").each(function() { 
    var curr = $(this); 
    if (curr.width() >= 500) { 
     var m = 500/curr.width(); 
     curr.height(curr.height() * m); 
     curr.width(curr.width() * m); 
    } 
    curr.wrap($('<a href="' + curr.attr("src") + '">')); 
}); 
1

$("<a href='" + curr.attr("src") + "'>")는 일반적인 HTML 요소를 생성합니다 때문입니다에서 제공하는 랩() 메소드를 사용할 수 같은

뭔가. 제 생각 엔 jQuery는 누락 된 닫는 태그를 무시하고이 html을 만듭니다. <a href="/Images/7827-1280x800.jpg"></a>$("</a>")은 전혀 무시됩니다.