unwrap()/使用jQuery删除特定的HTML元素
我试图使用jQuery从这个HTML中删除strong元素,但无法使其正常工作(注意:这里的message_id实际上是PHP代码,但为了可读性,我删除了它): 重新排列后,但不起作用。由于该方法实际上删除了所选元素的父元素,您可能需要类似以下内容:unwrap()/使用jQuery删除特定的HTML元素,jquery,html,Jquery,Html,我试图使用jQuery从这个HTML中删除strong元素,但无法使其正常工作(注意:这里的message_id实际上是PHP代码,但为了可读性,我删除了它): 重新排列后,但不起作用。由于该方法实际上删除了所选元素的父元素,您可能需要类似以下内容: $('#strong'+messageid).children().first().unwrap(); 但是,我不禁想知道,为什么它是用包装的元素,反之亦然?由于该方法实际上删除了所选元素的父元素,您可能需要这样的东西: $('#strong'+
$('#strong'+messageid).children().first().unwrap();
但是,我不禁想知道,为什么它是用包装的元素,反之亦然?由于该方法实际上删除了所选元素的父元素,您可能需要这样的东西:
$('#strong'+messageid).children().first().unwrap();
但是,我们不禁要问,为什么它是用元素包装的,反之亦然?假设您想要元素,那么您必须选择子元素,然后将其展开,以仅删除\strongX
元素
$('#strong'+messageid).children().unwrap();
假设您需要
元素,则必须选择子元素,然后将其展开以仅删除\strongX
元素
$('#strong'+messageid).children().unwrap();
如果您的strong中有文本节点,请使用内容
而不是子节点
如果strong中有文本节点,请使用内容
而不是子元素
如果要保留p元素但只删除周围的strong标记,可以尝试:
//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);
如果要保留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);
请用呈现的HTML替换PHP代码。$(“.comments layout”).unwrap();好的,我删除了php代码并重新设置了strong和p的范围,以获得良好的实践效果。请用呈现的HTML替换php代码。$(“.comments layout”).unwrap();好的,我删除了php代码并重新设置了strong和p的范围以获得良好的实践。我尝试了您的解决方案并重新排列了p和strong标记以获得良好的实践,但没有成功。@user1683645,它现在不应该工作,因为您现在已经更改了结构并为包装器元素重新分配了id。如果你能更详细地描述你的问题,那会很有帮助;在我看来,您可以在该元素的innerHTML
上运行。replace(/,“”)
。我尝试了您的解决方案,并重新排列了p和strong标记以获得良好的实践,但没有成功。@user1683645,它现在不应该工作,因为您现在已经更改了结构并为包装器元素重新分配了id。如果你能更详细地描述你的问题,那会很有帮助;在我看来,您可以在该元素的innerHTML
上运行。