这可能吗?

<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);

试试看:

http://jsfiddle.net/msLsy/

希望它能帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top