0

jQueryを使用してこのHTMLから強力な要素を削除しようとしていますが、機能させることができません(注:ここでのmessage_idは実際にはPHPコードですが、読みやすくするために削除しました):

<p class="comments-layout" id="strong_messageid"><strong>text</strong></p>

私は彼を試しました:

$('#strong'+messageid).children().first().unwrap();

再配置した後、動作しませんでした。

4

4 に答える 4

2

要素が必要であると仮定すると<p>、子要素を選択してラップを解除し、#strongX要素だけを削除する必要があります。

$('#strong'+messageid).children().unwrap();
于 2012-10-26T15:31:03.123 に答える
1

.unwrapメソッドは実際に選択した要素の親要素を削除するため、おそらく次のようなものが必要です。

$('#strong'+messageid).children().first().unwrap();

しかし、なぜ<p>要素が でラップされており<strong>、その逆ではないのか疑問に思わずにはいられません。

于 2012-10-26T15:30:34.447 に答える
1
$('#strong'+messageid)
    .children()
    .insertAfter( $('#strong'+messageid) );
$('#strong'+messageid).remove();

contents代わりに強力な使用内にテキストノードがある場合children

于 2012-10-26T15:31:35.597 に答える
0

p 要素を保持したいが、周囲の強力なタグを削除するだけの場合は、次のことを試すことができます。

//get the DOM elements contained within the strong tag first then replace the strong tag
//with these elements
$element_contents = $('#strong'+  $messageid).contents();
$('#strong'+  $messageid).replaceWith($element_contents);
于 2012-10-26T16:50:11.133 に答える