我最初认为从序列化的 DOM 字符串中删除 YUI3 类名(或整个类属性)和 id 属性的正则表达式是一种足够可靠的方法 - 但现在我不确定,因为有关在 HTML 上使用正则表达式的各种警告。
我正在玩弄制作有问题的 DOM 结构副本的想法,执行:
var nodeStructure = Y.one('#wrap').all('*'); // A YUI3 NodeList
// Remove unwanted classNames.. I'd need to maintain a list of them to remove :/
nodeStructure.removeClass('unwantedClassName');
接着:
// I believe this can be done on a NodeList collection...
nodeStructure.removeAttribute('id');
我不太确定我需要做什么来“复制”节点集合,因为我实际上不想对我的活动标记执行上述操作,因为它只是被保存 - 而不是“关闭”或“退出”,用户可以继续更改标记,然后再次保存。我知道,上面没有复制。
这有效率吗?在将其保存为字符串之前,是否有更好的方法来“清理”我对 DOM 的框架添加的实时标记(可能还有其他内容)?如果这是一种好方法,那么复制我的节点集合以进行安全清理的安全方法是什么?
谢谢!d
(这是我关于清理序列化的整个 DOM 结构的第一个想法的与正则表达式相关的帖子:Safe regexs to clean serialized DOM?,如果需要,该问题包含一些示例 HTML)