Эффективный способ скопировать коллекцию узлов, обработать их, а затем сериализовать? - PullRequest
1 голос
/ 06 февраля 2011

Первоначально я думал, что регулярное выражение для удаления 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');

IЯ не совсем уверен в том, что мне нужно сделать, чтобы «скопировать» коллекцию узлов в любом случае, так как я на самом деле не хочу делать вышеизложенное для моей живой разметки, поскольку она только сохраняется - не «закрыта» или«Выход», пользователь может продолжить изменять разметку, а затем снова сохранить.Я знаю, что вышесказанное не делает копию.

Это эффективно?Есть ли лучший способ «санировать» мою живую разметку дополнений фреймворка к DOM (и, возможно, другие вещи позже) перед сохранением в виде строки?Если это хороший подход, как безопасно скопировать мою коллекцию узлов для безопасной очистки?

Спасибо!d

(Это сообщение, связанное с регулярными выражениями, о моей первой идее по очистке всей сериализованной структуры DOM: Безопасные регулярные выражения для очистки сериализованной DOM? , этот вопрос содержит пример HTML, еслиты хочешь)

1 Ответ

0 голосов
/ 11 апреля 2011

«Я не совсем уверен, что мне нужно сделать, чтобы« скопировать »коллекцию узлов» И Цзян, вы никогда не возвращались :( Просто отвечая на этот вопрос для полноты.

...