人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

jQueryでaddClassして、それをlocalStorageに保存したものの、ファイルを開いても、実行されません。(ローカルストレージに入ってはいるものの…)
.small {
font-size:0.5em;
}
<div id="text">aaaa</div>
<input type="button" value="小" id="small"/>

以下Javascript

$(function(){
window.localStorage["font_size"];
});

$("#small").click(function(){
$("#text").removeClass();
localStorage.setItem("font_size", $("#text").addClass("small"));
});


●質問者: goodbabies
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●20ポイント

そのコードには保存された内容を表示するようなコードなどが特に無いようですが、実行されないってのは何が実行されないのでしょうか?

また localStrage に何を保存したいのかもわかりません。localStrageには文字列しか保存できないはずなので、それだと "[object Object]" とかの文字列が保存されるだけじゃないでしょうか?


根本的に何か色々勘違いされているように思います。

◎質問者からの返答

つまり、objectはlocalstrageに保存することはできないのですね。


2 ● Cherenkov
●80ポイント ベストアンサー

オブジェクトの保存はできないので、

localStorage.setItem("font_size", '$("#text").addClass("small")');

のように文字列で保存して、

eval(localStorage["font_size"]);

でevalを使えば希望の動作になります。(セキュリティを考慮する必要がある)


もしくはevalを使わずに、セレクタとクラス名の連想配列やJSONをlocalStorageに保存して取り出し実行。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ