2010-09-08 19 views
6

Hola, he intentado ajustar una imagen con ancla si la clase tiene ancla.jQuery wrap img con ancla

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> 

También, debo utilizar un doble o comillas simples?

Respuesta

0

supongo es posible que desee algo como esto:

$('.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>'); 
    } 
}); 

Esto envolver un ancla con el mismo href.view-field-field-node-ref-id a como todo el img en .views-field-field-teaserbox-fid.

Ah, y sobre comillas simples o dobles: no importa - use lo que sea que le funcione.

+0

'.wrapAll()' ajusta el elemento a la izquierda de la función, por lo que se crearía un HTML no válido :) –

+0

@Nick Oops .... –

+0

Yi, probé tu código y no está funcionando. Seguiré depurando – arkjoseph