javascript - Jquery 删除除粗体以外的所有内容

标签 javascript jquery html selector jsoup

我有这样的 html:

<div id="divTestArea1">
    <b>Bold text</b>
    <i>Italic text</i>
    <div id="divTestArea2">
            <b>Bold text 2</b>
            <i>Italic text 2</i>
            <div>
                    <b>Bold text 3</b>
            </div>
    </div>

我想删除所有不是粗体的元素。我试过这段代码:

$('*:not(b)').remove();

和其他一些变体,但它们要么出错,要么删除所有内容。顺便说一句,jquery 选择器和 jsoup 选择器是 100% 兼容的吗?我也想在 jsoup 中使用这个问题的答案。

最佳答案

您当前的代码删除文档 <body>以及所有<div>包含 <b> 的 s标签。如果您只想保存粗体文本,那么 Shih-En Chou 的解决方案效果很好。如果你想保存<div> <b> 的结构标签也在里面,你可以这样做:

$("body *:not(div, b)")​​​​.remove();​

DEMO

关于javascript - Jquery 删除除粗体以外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12000389/

相关文章:

html - H1 中 SPAN 的垂直对齐

javascript - 在 HTML h1 标签之前处理 JavaScript

jquery - 将可拖动对象动画到其起始位置

javascript - 防止用户点击除 Textarea 之外的 Enter

javascript - 根据 "Data attributes"和disabled-attribute禁用一组复选框

javascript - jQuery td :contains

javascript - jQuery 矢量 map 中的切换功能

javascript - 使用 `.bind(thisArg, [, arg1[, arg2[, ...]]])` 前置参数

javascript - 使用 JavascriptExecutor 发送键并点击 web 元素

javascript - 如何在 Razor 中使用 JavaScript 变量?