我正在尝试使用 jQuery 从该 HTML 中删除强元素,但无法使其正常工作(注意:这里的 message_id 实际上是 PHP 代码,但为了便于阅读,我将其删除):
<p class="comments-layout" id="strong_messageid"><strong>text</strong></p>
我试过他的:
$('#strong'+messageid).children().first().unwrap();
重新安排后,但没有工作。
假设您想要该<p>
元素,则必须选择子元素,然后打开它以仅删除该#strongX
元素。
$('#strong'+messageid).children().unwrap();
由于.unwrap方法实际上删除了所选元素的父元素,您可能需要这样的东西:
$('#strong'+messageid).children().first().unwrap();
但是,不禁想知道,为什么它是<p>
element 包裹的<strong>
,反之亦然?
$('#strong'+messageid)
.children()
.insertAfter( $('#strong'+messageid) );
$('#strong'+messageid).remove();
如果您在强烈使用中使用文本节点contents
而不是children
如果您想保留 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);