2013-10-17 23 views
0

其他元素我的裏面3種元素的文章列表。一個div,一個h3和一個p。 div內是一個圖像,h3是href,文本是p。每篇文章中的內容都不相同。如何將多個不同的href包裹父母和2個與jQuery

我需要從H3採取href和周圍的DIV,H3和對包裹。他們沒有唯一的標識符。唯一的類是在最初的文章和div是相同的。

我希望我可以在href的內容作爲一個變量,刪除HREF離開鏈接的完整文本,然後用變量包裝改寫HREF的3個元素。

任何幫助,將不勝感激,我希望我已經解釋過完全夠用。標記如下。

<article class="summary"> 
    <div class="article-image"> 
     <img alt="" src="https://funeralzone.co.uk/assets/uploads/images/Funeral%20Costs(1).jpg" style="width: 255px; height: 169px;"> 
    </div> 
    <h3> 
     <a href="funeral-organiser/how-to-guides/a-guide-to-funeral-costs">A Guide to Funeral Costs</a> 
    </h3> 
    <p>How much does the average funeral cost? Where can you get help?</p> 
</article> 
+0

移動元素'。總結H3了'的'.summary'標籤。 – Accelerator

+0

這就是我剛纔所說的那種!你會怎麼做? – Eugene

+0

我仍然不知道什麼youre要求....你不能只是移動周圍的一切的標籤,如果你希望它都是相同的鏈接? – Kierchon

回答

3

在這裏你去:) http://jsfiddle.net/k9ksn/

$('.summary').each(function() { 
    var href = $(this).find('a').attr('href'); 
    var anchorInner = $(this).find('a').text(); 
    $(this).find('h3').html(anchorInner); 
    $(this).wrapInner('<a href="'+href+'"></a>'); 
}); 
+0

非常感謝。這個竅門會好嗎? – Eugene

0

如果我的理解,你想包裝在一個鏈接,href是在h3中的超鏈接的一個整體article項目,用普通文本替換此鏈接(span)。

試試這個方法:

$(function() { 
    $("div.article-image").each(function() { 
     var link = $(this).next("h3").find("a"); 
     var linkHref = $(link).attr("href"); 
     var linkText = $(link).html();   
     var wrapper = $("<a />", { 
      href: linkHref 
     }); 
     var linkAsText = $("<span />").html(linkText); 

     $(this).parent().append($(wrapper)); 

     $(wrapper).append($(this).parent().children()); 

     $(link).replaceWith($(linkAsText)); 
    }); 
}); 

演示:http://jsfiddle.net/JpArk/2/

相關問題