1

当初、シリアル化されたDOM文字列からYUI3 classNames(またはクラス全体の属性)と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構造全体をクリーンアップする最初のアイデアに関する正規表現関連の投稿です:シリアル化されたDOMをクリーンアップするための安全な正規表現?、必要に応じて、その質問にはサンプルHTMLが含まれています)

4

1 に答える 1

0

「ノードのコレクションを「コピー」するために何をする必要があるのか​​よくわかりません」YiJiang、あなたは二度と戻ってきませんでした:(完全を期すためにこのQに答えるだけです。

于 2011-04-11T02:52:27.533 に答える