我正在开发一个项目,在这个项目中能够解析一些文本非常有用。一个数据库到jQuery。
这一行就是一个例子:
$(container).show("drop", { direction: "bottom", distance: 300 }, 800);
当我将其硬编码到我的文件中时,这很有用 - 但我希望能够存储的是:
.show("drop", { direction: "bottom", distance: 300 }, 800);
例如一个数据库,然后在页面呈现时检索它并在我的jQuery代码中使用它。
我目前正在将存储的jQuery渲染到隐藏字段中,但每当我尝试组合这些值时:
$(container) + $("#hfJquery");
我得到的只是一个文本字符串 - 这是有道理的。所以问题是 - 有没有办法以某种方式将代码附加到jquery代码块,以便隐藏字段中的纯文本将被视为jQuery代码而不是文本?
答案 0 :(得分:0)
我真的没有看到做某事的重点。但请看一下eval()
:
eval("$('#containerID')" + $("#hfJquery").val());
答案 1 :(得分:0)
您可以将数据存储为JSON。这只会占用DB中的一个字段。
然后输出到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);
JSON也可以直接添加到data-
属性
<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);
})