2010-09-08 28 views
6

Xin chào Tôi đã cố gắng để bọc một hình ảnh với neo nếu lớp có neo.jQuery img bọc với neo

jQuery:

if ($(".views-row:has(a)").length) { 
    var noderef = $(this).attr("anchor"); 
    $(".views-field-field-teaserbox-fid img").wrap("[anchor = "'+noderef+'" ]"); 
} 

HTML:

<div class="view-content"> 
     <div class="views-row"> 

      <div class="views-field-field-node-ref-nid"> 
      <span class="field-content"><a class="active" href="/all-essentials-inspiring-events">All the essentials of inspiring events.</a></span> 
     </div> 

     <div class="views-field-field-teaserbox-fid"> 
      <span class="field-content"><img width="208" height="137" src="http://localhost:8888/sites/default/files/wedding_Giveaway_teaser.jpg?1283880578" alt="" class="imagefield imagefield-field_teaserbox"></span> 
    </div> 

Ngoài ra, tôi nên sử dụng một dấu ngoặc kép hoặc đơn?

Trả lời

0

Tôi đoán bạn có thể muốn một cái gì đó như thế này:

$('.views-row').each(function(){ 
    var current = $(this); 
    var anchor = current.find('a').first().attr('href'); 

    if(anchor){ 
     var wrapped = $(current.find('img')).wrap('<a href="' + anchor + '"></a>'); 
    } 
}); 

này sẽ quấn một neo với cùng href như .view-field-field-node-ref-id a quanh img trong .views-field-field-teaserbox-fid.

Ồ, và về dấu nháy đơn hoặc kép: Không quan trọng - sử dụng bất kỳ thứ gì phù hợp với bạn.

+0

'.wrapAll()' kết thúc phần tử ở bên trái của hàm, do đó, điều này sẽ tạo ra một số HTML không hợp lệ :) –

+0

@Nick Rất tiếc .... –

+0

Yi, tôi đã thử mã của bạn và nó không hoạt động. Tôi sẽ tiếp tục gỡ lỗi – arkjoseph

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