【问题标题】: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(),但我不想要要删除的标签的内容)。

【问题讨论】:

    标签: javascript jquery html dom dom-manipulation


    【解决方案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() 不起作用,但如果我能得到文本也没关系。
    猜你喜欢
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 2017-01-12
    • 1970-01-01
    • 2011-06-08
    • 2023-02-05
    相关资源
    最近更新 更多