2016-03-15 81 views
2

使用jQuery進行跟蹤是否可行?jquery在其他標籤周圍添加標籤

這是正常的HTML代碼:

<figure> 
    <a href=""> 
     <img src="" alt="More info" title=""> 
    </a> 
    <figcaption>More info</figcaption> 
</figure> 

但我想,jQuery的用它做:

<figure> 
    <a href=""> 
     <img src="" alt="More info" title=""> 
     <figcaption>More info</figcaption> 
    </a> 
</figure> 

回答

3

您可以使用appendTo(),當你有多個元素。可以使用.each()進行迭代,在這裏找到使用各種DOM遍歷方法的前一個錨,然後使用appendTo()

$('figcaption').each(function() { 
 
    var prevAnchor = $(this).closest('figure').find('a'); //$(this).prev('a'); 
 
    $(this).appendTo(prevAnchor); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<figure> 
 
    <a href=""> 
 
    <img src="" alt="More info" title=""> 
 
    </a> 
 
    <figcaption>More info</figcaption> 
 
</figure> 
 
<figure> 
 
    <a href=""> 
 
    <img src="" alt="More info" title=""> 
 
    </a> 
 
    <figcaption>More info</figcaption> 
 
</figure>

+1

我想'.figcaption'應該只有'figcaption'(不點) –

+0

這就是正確的,它現在起作用!我在網站上有多個數字,現在出錯了。 (我得到3倍的更多的信息下),所以我試圖與每個(功能(){}但我做錯了我想? – Maanstraat

+0

謝謝你的幫助! – Maanstraat

0

試試這個:您可以使用.append()方法添加figcaption錨定標記。看下面的代碼

$('figure a').append('figure figcaption'); 
0

是的,你可以使用類似:.appendTo();

$(document).ready(function() { 
 
    $("figcaption").appendTo("a"); 
 
});

 
<figure> 
 
    <a href=""> 
 
    <img src="" alt="More info" title=""> 
 
    </a> 
 
    <figcaption>More info</figcaption> 
 
</figure> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>