2

カスタム情報 (状態など) を保存するために、JavaScript で標準の DOM ノードを展開する必要がある場合があります。次の 2 つの方法があります。

  1. 使用data-*属性:node.setAttribute('data-custom', value)
  2. ノードオブジェクトにデータを直接入れるだけです:node.__customField = value

2 番目の方法は、Google 検索ページで使用されています。フィールド「__jsaction」をボタンDOMオブジェクトに入れます。jQueryは、そのメソッドにこのアプローチのいくつかのバリエーションを使用します (データ チャンクのインデックスをストレージに格納するのと.data()同じ名前のフィールドをノードに配置します)。jQuery2030201338223880156870.7588401902467012

両方の手法の欠点は、衝突の可能性です (ただし、jQuery ソリューションはそれほど悪くないように見えます)。しかし...他のより信頼できる方法はありますか?

4

0 に答える 0