0

私は、たとえばデータベースから jQuery へのテキストを解析できると非常に便利なプロジェクトに取り組んでいます。

例は次の行です。

$(container).show("drop", { direction: "bottom", distance: 300 }, 800);

これは、ファイルにハードコードするとうまく機能しますが、できるようにしたいのは、これを保存することです。

.show("drop", { direction: "bottom", distance: 300 }, 800);

たとえばデータベースで、ページのレンダリング時にそれを取得し、jQuery コードで使用します。

現在、保存されているjQueryをhiddenfieldにレンダリングしていますが、値を結合しようとするたびに:

$(container) + $("#hfJquery");

私が得るのはテキスト文字列だけです-これは理にかなっています。質問は、hiddenfield からのプレーン テキストがテキストではなく jQuery コードとして扱われるように、コードを jquery コード ブロックに追加する方法はありますか?

4

2 に答える 2

0

何かをする意味がよくわかりません。しかし、見てくださいeval()

http://jsfiddle.net/yP9ZL/1/

eval("$('#containerID')" + $("#hfJquery").val());
于 2013-01-03T00:22:32.867 に答える
0

データを JSON として保存できます。これは、DB の 1 つのフィールドのみを占有します。

次に、javascript オブジェクト変数に出力するかdata-、マークアップの属性に保存します。

var data={
  "selector": "#Div",
  "animMethod": "show",
  "effect": "drop",
  "options": { "direction": "bottom", "distance": 300 },
  "duration": 800  

}

function runAnimation(data){
   $( data.selector)[ data.animMethod] ( data.effect, data.options, data.duration);

}
runAnimation(data);

data-JSON は、属性の要素に直接追加することもできます

<div class="run_animation" data-animData="{animMethod: 'show'.....,  duration: 800 }">

次に、要素から取得します。

$('.run_animation').each(function(){
  /* retrieve data object from markup*/
  var data=$(this).data('animData')
  $(this)[ data.animMethod] ( data.effect, data.options, data.duration);    
})
于 2013-01-03T00:50:13.817 に答える