删除标签(和标签内容)但留下文字
Posted
技术标签:
【中文标题】删除标签(和标签内容)但留下文字【英文标题】:Remove tags (and tag content) but leave text 【发布时间】:2013-07-02 19:50:50 【问题描述】:给定这种形式的 html:
<div>
<a href="#">Generic Anchor</a>
<li> Some text </li>
<b> More stuff </b>
Just text.
</div>
标签是随机的,有没有办法在 jQuery(或 javascript)中将其缩减为仅文本,意思是
<div>
Just text.
</div>
无需指定要删除的特定标签(我知道 .text(),但我不想要要删除的标签的内容)。
【问题讨论】:
【参考方案1】:试试这个:http://jsfiddle.net/5SRLE/1/
$("div").children().remove();
当然,您需要使用该选择器来定位特定的div
(如果您有其他不想从中删除子级的 div)。如果您有问题,请显示您的上下文,以便我们使其更具体...
【讨论】:
这似乎可行,但出于某种原因,在执行$(this).children().remove()
、$(this).text()
之后失败,但this.textContent
有效。这是预期的行为吗?
text()
似乎在这里工作正常:jsfiddle.net/5SRLE/2。如果出于某种原因text()
对您不起作用,但textContent
对您有效,请继续使用textContent
(甚至innerHTML
,因为您已经删除了非文本内容)。如果你可以只使用元素属性而不是 jquery 方法,我更喜欢这样做。
是的,我不知道为什么text()
不起作用,但如果我能得到文本也没关系。以上是关于删除标签(和标签内容)但留下文字的主要内容,如果未能解决你的问题,请参考以下文章