Javascript/JQuery 从字符串中删除数据

标签 javascript jquery

我正在尝试理解一些事情。我通过执行以下操作获得一串 html 代码

var formDataUnformatted = $("#content").html();

如果我输出 formDataUnformatted 我会得到类似以下内容

<div class="form-group ui-draggable ui-draggable-handle element" data-type="text"><div class="close">×</div>
    <label for="text_input" class="control-label col-sm-4">Text Input</label>
    <div class="controls col-sm-7">
        <input id="text_input" class="form-control" name="text_input" type="text">
    </div>
</div>

现在有了上面的内容,我需要删除一些类,并删除一个 div。我基本上需要将其变成以下内容

<div class="form-group">
    <label for="text_input" class="control-label col-sm-4">Text Input</label>
    <div class="controls col-sm-7">
        <input id="text_input" class="form-control" name="text_input" type="text">
    </div>
</div>

为此,我执行以下操作

var cleanFormData = formDataUnformatted.replace(/\t/, "").replace(/ ui-draggable| element/gi, "").replace(/<div class="close">.<\/div>/g, "").replace(/ data-(.+)="(.+)"/g, "");

现在这几乎完成了我需要它做的所有事情,但有一件事我不明白。如果我输出 cleanFormData,我会得到以下内容

<div class="form-group-handle">
    <label for="text_input" class="control-label col-sm-4">Text Input</label>
    <div class="controls col-sm-7">
        <input id="text_input" class="form-control" name="text_input" type="text">
    </div>
</div>

现在这已经很完美了,除了在 form-group 中添加了 -handle 之外。我不需要 form-group-handle,我只想它是 form-group。

它从哪里获取这个句柄?

谢谢

最佳答案

不要使用正则表达式解析 HTML,而是使用 DOM 节点

var formDataUnformatted = $("#content").clone();

formDataUnformatted.find('.form-group').attr('class', 'form-group');

var html = formDataUnformatted.html();

FIDDLE

关于Javascript/JQuery 从字符串中删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34933447/

相关文章:

javascript - 使用 Facebook API 更改 Facebook 应用程序的基本设置

javascript - 如果选择了特定的 <option> 值,则导航到 URL

javascript - 同时迭代和替换跨度

javascript - 当菜单在视口(viewport)外时触发事件并将菜单固定到视口(viewport)顶部

jquery - 带偏移量的滚动顶部动画

jquery - 在提交和浏览器后退按钮后启用禁用的表单按钮

javascript - 单击 map 外部时传单缩放 map

javascript - 连接输出参数值和绑定(bind)表达式

javascript - <div> 中的 jQuery onClick,忽略其中的 <a> 元素

javascript - 如何将一个值附加到 p,然后从 JavaScript 中的数组中删除它?