2017-03-09 137 views
0

我正在使用WordPress主題,並且存在一個循環,用於提取帖子並創建指向這些帖子的鏈接。我正在嘗試刪除標籤,但仍然將內容留在那裏。如何選擇並刪除元素而不刪除元素的內容javascript

<div class="members"> 
<div class="wrapper"> 
    <a href="somelink"> 
    <img /> 
    <p>mycontent</p> 
    </a> 
</div> 
</div> 

我得到的建議是選擇一個,並把它放到一個變量中調用它的目標。 然後抓住內部html並將其添加到另一個名爲content的變量。 最後刪除目標並將內容放回包裝div。 我一直在麻煩選擇一個標籤,因爲它沒有一個類,並在其他div的內部。

+1

你爲什麼不修改生成的代碼的PHP? –

+0

我無法使用PHP的原因是因爲我被卡住使用視覺作曲家。我無法真正弄亂或刪除代碼,但我可以添加javascript,html和css。 –

回答

0

您可以使用$.html()獲得鏈接的內容,插入使用$.after()連結後的內容,然後用$.remove()

var $link = $('a'), 
 
    stuff = $link.html(); 
 
$link.after(stuff).remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="members"> 
 
<div class="wrapper"> 
 
    <a href="somelink"> 
 
    <img /> 
 
    <p>mycontent</p> 
 
    </a> 
 
</div> 
 
</div>

或者用香草JS刪除鏈接,只是使用innerHTML獲取鏈接的內容並將其設置爲包裝的innerHTML

var wrapper = document.getElementsByClassName('wrapper')[0], 
 
    link = wrapper.getElementsByTagName('a')[0]; 
 
wrapper.innerHTML = link.innerHTML;
<div class="members"> 
 
<div class="wrapper"> 
 
    <a href="somelink"> 
 
    <img /> 
 
    <p>mycontent</p> 
 
    </a> 
 
</div> 
 
</div>

+0

這似乎有點工作,但我已被告知不要使用jQuery。 ><我很抱歉。 –

+0

@ CruzM.Ramirezz更新了我的答案。 –

+0

假設它是第一個(類包裝)...危險 –

0

我失去了一些東西在這裏...只是使用$("#mylink").removeAttr("href");

$(document).ready(function() { 

    $("#remove-tag").click(function() { 

    $("#my-link").removeAttr("href"); 

    }); 


}); 
+0

哦,其實我錯過了一些東西....呃。他要求刪除整個'''''''標籤。嗚嗚嗚嗚嗚嗚嗚嗚嗚嗚嗚嗚嗚嗚嗚嗚嗚嗚......不會是最好的,但我會留下答案,直到有人認爲不然。 – James

+0

感謝您的幫助^。^ –