このコードを簡略化する方法を教えてください。私は、それは長すぎて混乱していると思います。コードセレクションを避けて、異なるセレクタでクローン要素を見つける
1
A
答えて
4
one big selectorとし、すべての要素をまとめて収集できます。 1回の呼び出しですべてclone
を適用することができます。復元するには、同じセレクタを再利用し、結果をループし、収集したクローンからHTMLを置き換えます。
var $restorable = $(".launchPad, .launchPad-plankovy, " +
" .launchPad-plankovy-tvarovany, .launchPad-tyckovy, .launchPad-kombinovany, " +
" .launchPad-barvy-plankovy, .launchPad-barvy-tyckovy, " +
" .launchPad-zakonceni-plotovek, .launchPad-zakonceni-tycek");
var $launchPad = $restorable.clone();
$("[name='reset']").click(function(){
$restorable.each(function (i) {
$(this).html($launchPad.eq(i).html());
});
});
各要素に固有のクラスを付けることに気づいたようです。そのためにはid
プロパティを使用し、同じクラスの同じ種類の要素にマークを付けるためにクラスを使用する方が良いでしょう。 'restorable'
のように、これらすべての要素に1つのクラスを使用する場合、そのリストはそれほど長いものではありません。
また、クローンのHTMLのみを使用するため、実際にクローンを作成せずにHTMLを保存するだけで、パフォーマンスとメモリの使用効率が向上します。一緒にアイデアを、これらすべての要素にクラスrestorable
を与えるために、コードは次のようになります。lodashで
var $restorable = $(".restorable");
var launchPadHtml = $restorable.map(function() { return $(this).html(); }).get();
$("[name='reset']").click(function(){
$restorable.each(function (i) {
$(this).html(launchPadHtml[i]);
});
});
2
var keys = ['launchPad-plankovy-tvarovany', 'launchPad-plankovy' ...];
var clones = {};
keys.forEach(function(key){
clones[key] = $('.' + key).clone();
}
$("[name='reset']").click(function(){
keys.forEach(function(key){
$('.' + key).html(clones[key];
}
});
は、それは優雅な動きだ:
var keys = ['launchPad-plankovy-tvarovany', 'launchPad-plankovy' ...];
var clones = _.zipObject(keys, _.map(keys, function(key){
return $('.' + key).clone();
});
+0
ありがとうございます! –
関連する問題
- 1. 子要素を見つけるためのjqueryセレクタ
- 2. アクティブになる要素のCSSセレクタを見つける/他の要素をドラッグして表示する
- 3. Linqの2つのコレクションで異なるサブ要素を見つける
- 4. jqueryセレクタ文字列を使用してdiv要素を見つける方法
- 5. jQueryセレクタがIDで要素を見つけることができません
- 6. BeanIOでself-closing要素を避ける
- 7. 要素を見つけることができません:{ "メソッド": "名前"、 "セレクタ": "マークアップ"
- 8. Selenium Webdriver要素を見つける(ボタン)
- 9. Appiumが要素を見つけるベストプラクティス
- 10. 要素のターゲットを見つける
- 11. DOM要素を見つけるベストプラクティス
- 12. 複数の要素を見つける
- 13. リスト内の要素を見つける
- 14. Jquery:DIV内の要素を見つける
- 15. 要素のインデックスを見つけるC#
- 16. 隠し要素を見つける - PHP
- 17. 無効要素が表示されている場合に要素を見つけるためのセレクタ
- 18. 見つけ、select要素
- 19. jqueryセレクタ - ルートノードの子を見つける
- 20. 要素が残っていない順列を見つける
- 21. HTML5データ要素を避ける0
- 22. 2つの異なる配列のすべての要素のペアを素早く見つける方法
- 23. 'button-'で始まるすべての要素を見つける
- 24. xml属性を避けて、要素
- 25. javascriptの2つの配列に欠けている要素を見つける
- 26. 兄弟でない次の要素を見つける
- 27. ラッピング要素なしで電話番号を見つける
- 28. HTML5フォームで無効な子要素を見つける方法
- 29. 要素内の要素を見つける方法
- 30. 他の要素にドロップされた要素を見つける
はどうもありがとうございました! –