Frage
ist das möglich?
<div id="anything">I will change</div>
<div id="id" jq="$('#anything').css({background: 'red'})"></div>
var x = '$('#id').attr('jq')';
jQuery.call(x);
Im Grunde würde Ich mag ein Attribut jq
auf jeden Tag verwenden, wie ein onclick
zu handeln auf html, dass Anrufe der JavaScript-Anweisungen.
btw jQuery.call () ist zu Demonstrationszwecken es funktioniert nicht ...
Lösung
Sie würden eval()
verwenden, aber was Sie tun, scheint wie eine wirklich schlechte Idee:
var x = $('#id').attr('jq');
eval(x);
Der Grund, dies schlecht ist, ist, dass Sie nicht Funktion von Struktur zu trennen. HTML ist gemeint Struktur zu beschreiben, nicht die Interaktivität und Funktion.
JavaScript ist gemeint, dass die Interaktion und Verbesserung zu schaffen, aber nicht zu strukturieren. Unter Verwendung des jQuery Inline wie das ist ein Verstoß gegen diese Trennung. Einfach zum Nachdenken ...
Andere Tipps
Sie können neue Funktion verwenden MDN
Körper:
<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);
give it a try:
Hope, es hilft!