سؤال
هل هذا ممكن؟
<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
السمة على أي كلمة دلالية لتتصرف مثل onclick
سيكون على HTML والتي المكالمات البيانات جافا سكريبت.
وراجع للشغل jQuery.call () هو لأغراض العرض التوضيحي أنها لا تعمل ...
المحلول
وأنت سوف تستخدم eval()
لكن ما تقومون به يبدو وكأنه فكرة سيئة حقا:
var x = $('#id').attr('jq');
eval(x);
والسبب هذا أمر سيء، هو أنك لا تفصل وظيفة من الهيكل. والمقصود HTML لوصف هيكل، وليس التفاعل وظيفة.
والمقصود جافا سكريبت لتنص على أن التفاعل وتعزيز، ولكن ليس بنية. باستخدام مضمنة مسج من هذا القبيل يشكل انتهاكا للأن الانفصال. الغذاء عادل للفكر ...
نصائح أخرى
ويمكنك استخدام وظيفة جديدة MDN
والجسم:
<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);
وإعطائها:
ونأمل أن يساعد!
لا تنتمي إلى StackOverflow