2010-10-21 31 views

Trả lời

21

này sẽ quấn một tập hợp các hình ảnh có liên hệ với họ:

$('some selector for the images').each(function() { 
    $(this).wrap("<a href='" + this.src + "'/>"); 
}); 

... sử dụng .each (link), .wrap (link), và DOM bản địa src (link) tài sản cho các yếu tố hình ảnh.

Sửa Hoặc như chóp chỉ ra (nhưng không châm chọc), chỉ cần vượt qua một hàm thành wrap:

$('some selector for the images').wrap(function() { 
    return "<a href='" + this.src + "'/>"; 
}); 

Live example

+4

Cũng có thể sử dụng '.wrap()' với một hàm làm đối số; có lẽ là một rửa. – Pointy

+0

Thanx, nó hoạt động! – Simon

+0

@Pointy: * Sigh * Khi nào tôi sẽ học ?! Tôi * biết * điều đó, nhưng tôi vẫn cứ gõ 'mỗi' ... Cảm ơn. –

6
$('#img').each(function(){ 
    var $this = $(this); 
    $this.wrap('<a href="' + $this.attr('src') + '"></a>'); 
}); 
+1

'# img' nên được' img'. Việc chọn một phần tử sẽ là duy nhất và sử dụng hàm 'each'. : P – BrunoLM

+0

thực sự nó, vì bạn cần phải chọn phần tử. tôi có thể đã làm $ ('# img'). wrap ('); nhưng điều này cho thấy một chút sử dụng jquery. điểm hợp lệ mặc dù^_^ – DoXicK

+2

không, Bruno là đúng. bạn đang gọi từng phần tử trên một phần tử. nó phải là $ ('img'). – EMMERICH

Các vấn đề liên quan