jquery字符串到函数的转换

jquery字符串到函数的转换,jquery,attr,Jquery,Attr,这可能吗 <div id="anything">I will change</div> <div id="id" jq="$('#anything').css({background: 'red'})"></div> var x = '$('#id').attr('jq')'; jQuery.call(x); 我会改变 var x='$('#id').attr('jq'); 调用(x); 基本上,我希望在任何标记上使用属性jq,就像调用jav

这可能吗

<div id="anything">I will change</div>
<div id="id" jq="$('#anything').css({background: 'red'})"></div>

var x = '$('#id').attr('jq')';
jQuery.call(x);
我会改变
var x='$('#id').attr('jq');
调用(x);
基本上,我希望在任何标记上使用属性
jq
,就像调用javascript语句的html上的
onclick
一样

顺便说一句,jQuery.call()用于演示,它不起作用…

您可能会使用
eval()
,但您所做的似乎是一个非常糟糕的主意:

var x = $('#id').attr('jq');
eval(x);
这不好的原因是你没有把功能和结构分开。HTML旨在描述结构,而不是交互性和功能

JavaScript旨在提供这种交互和增强,而不是结构。像那样使用jQuery内联查询违反了这种分离。值得思考…

您可以使用新功能

正文:

试一试:


希望有帮助

我不确定我是否真的明白这一点。我只想让jq属性携带js/jQuery指令,并像写在标签上一样解释它们。。。jq可以是
jq=“foo()”
jq=“$('#任何东西”).draggable()“
或任何你能想到的东西……事实上,jQuery的一部分吸引力在于它可以轻松地编写与HTML很好地分离的代码。将代码放回标记中(同时使标记无效)似乎不是前进的一步。。。我正在尝试将ajax与source
example.html
结合使用以获取页面,但如果example.html上有标记
//jqeury code这里//或javascript
,出于安全原因,这总是会被阻止。。。所以,这是我唯一能让它成为可能的方法,我想返回内容中的标签不会被阻止,只是它们不能在不同的浏览器中正常工作。您可以将一段HTML和一些脚本作为JSON对象的单独成员传递。。。但是,返回并动态执行IMO代码还是有问题的。几乎总是最好保持所有代码的静态。
<div id='MyFunc' func="alert('Hello!');" >On Load raise an Alert</div>
var myFunc = myFunc || document.getElementById('MyFunc'),
        hello = new Function( myFunc.getAttribute('func'));
    hello.call(this);