Эффективный способ скопировать коллекцию узлов, обработать их, а затем сериализовать?
Сначала я думал, что регулярное выражение для удаления YUI3 classNames (или целых атрибутов класса) и атрибутов id из сериализованной строки DOM было достаточно разумным подходом - но теперь я не уверен, учитывая различные предупреждения об использовании регулярного выражения в 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: Безопасные регулярные выражения для очистки сериализованного DOM?, этот вопрос содержит образец HTML, если вы этого хотите)
1 ответ
"Я не совсем уверен, что мне нужно сделать, чтобы" скопировать "коллекцию узлов". И Цзян, вы никогда не возвращались:(Просто отвечая на этот вопрос для полноты.