2016-11-28 3 views
0

プラグインからインラインスタイルが適用されているページにul liグリッドがあります。このリストの上にあるオプションを選択すると、そのアイテムにチェックボックスが適用されていない場合は、そのアイテムを非表示にします。ボタン上のインラインスタイルに戻る - jQuery

「リセット」ボタンを追加しようとしていますが、ページの読み込み時にそのスタイルを元の状態に戻すため、チェックボックスの選択が行われなかったようです。

ページロード時の1つのスタイルの例を次に示します。それらはページの左上から設定されているので、特定の属性をハードコードすることはできません。これはプラグインからのものです。

position: absolute; 
left: 330px; 
top: 1320px; 

私はjQueryを使って、すべて一緒にスタイルを削除することができます知っているが、彼らはpageloadにあったとして、それが戻っインラインスタイルを元に戻すことは可能ですかどうかはわかりません。

+0

さてあなたは、最初にすべてのあなたのプラグインがその事を行う前に、値を_読み込み_必要があるだろう - そう、彼らは単純に失われているためときプラグインがそれらを上書きします。 – CBroe

+0

インラインスタイルは、スタイルシートからではなく、プラグインから設定されています。プラグインは絶対ピクセルと上/下ピクセルの位置を決めています。 – runningantelope123

答えて

1

これを試してみてください:

<script> 
$(function(){ 
    var default_styles = new Array(); 

    default_styles = $('ul li').map(function(){ return $(this).attr('style') }).get(); 

    $('button').click(function(){ 
     $('ul li').each(function(i,v){ 
      $(v).attr('style', default_styles[i]) 
     }); 
    }); 
}); 
</script> 

フィドルを追加しました:https://jsfiddle.net/ehpmvqL7/3/

+0

ニース、それを修正し、私はそれが必要な方法を動作します、ありがとう! – runningantelope123

+0

@ runningantelope123うれしかった:) – Amin

0

これは少しハッキリですが、プラグインがインラインスタイルを変更する前に、jqueryオブジェクトの.attr()メソッドを使用して要素のstyle属性の値を読み取ることができます。

次に、保存した元のスタイルを参照することができます(ただし、チェックボックスをクリックした後に設定するなど)。