2017-03-09 4 views
0

WordPressテーマで作業しています。投稿を引っ張り、それらの投稿へのリンクを作成するループがあります。私はタグを削除しようとしていますが、まだそこにコンテンツを残しています。要素の内容を削除せずに要素を選択して削除する方法を教えてください。

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

私が得たアドバイスは、aを選択し、それをターゲットと呼ぶ変数に入れたものです。 次に、内側のHTMLを取得し、contentという別の変数に追加します。 最後にターゲットを削除し、コンテンツをラッパーdivに戻します。 aタグがクラスを持たず、他のdivの中にあるので、aタグの選択に問題がありました。

+1

を使うのか? –

+0

私は視覚的な作曲家を使用して立ち往生しているので、私はPHPを使用することはできません理由です。私は本当にコードを削除することはできませんし、削除することはできませんが、私はjavascript、html、およびcssを追加できます。 –

答えて

0

あなたはその後、ちょうど、$.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を使用してリンクを削除し、$.after()を使用してリンクした後、そのコンテンツを挿入し、リンクの内容を取得するために$.html()を使用することができます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

私はここで何かをしないのです...ちょうどなぜあなたはコードを生成するPHPを編集しない$("#mylink").removeAttr("href");

$(document).ready(function() { 

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

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

    }); 


}); 
+0

ああ、実際に私は何かが欠けていた....ええ。彼は '' a''タグ全体を取り除くように頼んだ。 Oooops ....これはまだあなたのために働くはずです。最高ではないだろうが、誰かがそうでないと思うまで私は答えを残すだろう。 – James

+0

とにかく助けてくれてありがとう^。^ –

関連する問題