私は3つのリンクを作成しようとしています。これらのリンクをクリックすると、divが表示されます。これらのリンクをもう一度クリックすると、そのリンクの別のタイプが表示されます。たとえば、リンクがある場合、oneそれをクリックするとdivが生成されoneます。もう一度クリックすると、divが生成されone1ます。このように、各要素には一意のIDがあり、後で個々のdivにカスタムスタイルを適用できます。
ユーザーがaリンクの1つをクリックすると、そのタイプのdivがクリックされた回数のlocalStorageキーが作成されます。たとえば、divoneの行5時間をクリックすると、localStorageキーは5になります。次に、ページがリロードされると、スクリプトはdivをページに5回複製し、パート1から5のカウンターを設定します。リンクをもう一度クリックし始めると、aリンクは1からではなく、5から始まるため、競合するIDではありません。
私が遭遇している問題は、削除機能です。ユーザー5がdivを複製したとしますone。つまり、one1, one2, one3, one4, one5すべてが画面に表示されます。ユーザーがページをリロードしても、それらはすべてまだそこにあります。ただし、ユーザーがページから削除div1したとします。それに関連するすべてのスタイリングを削除div1し、他のdivをそのまま残します...
ただし、ページをリロードすると、スクリプトは、からの複製ではなく、から始まるdivを複製します1-4(localStorageキーに保存されたのは4 divのみであるため)、、、または、が削除されました。2-5#1div1
それは読むのがたくさんあり、理解するのが難しいかもしれないことを私は理解しているので、私はその中のコードをいじくりまわしました。
http://jsfiddle.net/charlescarver/bMzME/2/
私が言っていることをテストするには、いくつかのdivを表示する必要があります。たとえば、「1つ」の5つです。#one1, #two1, and #three1それらを削除するとどうなるかを示すために、すべてに境界線があることに気付くでしょう。divを複製するdiv1と、境界線が表示されます。そのdivを削除した場合、ページをリロードするまで、ページ上の他のdivは影響を受けません。リロードすると、前者div2のIDがに変更されたdiv1ままではなく、に変更されていることがわかりdiv2ます。
スクリプト全体を書き直さずにこれを修正する方法はありますか?私はそれを修正するより速い方法があるかもしれないと感じます、そして私はそれを想像することができません。
PS、あなたが上記のすべてを読んだら、私は正直に感謝しています