题
这可能吗?
<div id="anything">I will change</div>
<div id="id" jq="$('#anything').css({background: 'red'})"></div>
var x = '$('#id').attr('jq')';
jQuery.call(x);
基本上我想使用属性jq
上的任何标记来像上的html一个onclick
将调用JavaScript语句。
顺便说一句jQuery.call()是用于示范的目的,不工作...
解决方案
您将使用eval()
但你在做什么似乎是一个非常糟糕的主意:
var x = $('#id').attr('jq');
eval(x);
的原因这是不好的,是你没有从结构分离功能。 HTML意欲描述结构,而不是交互功能和
的JavaScript旨在提供交互和增强,但不是结构。使用jQuery的直列这样是违规的分离。只是精神食粮......
其他提示
可以使用新功能 MDN
体:
<div id='MyFunc' func="alert('Hello!');" >On Load raise an Alert</div>
JS:
var myFunc = myFunc || document.getElementById('MyFunc'),
hello = new Function( myFunc.getAttribute('func'));
hello.call(this);
试试看:
希望它能帮助!
不隶属于 StackOverflow