سؤال

هل هذا ممكن؟

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

وإعطائها:

http://jsfiddle.net/msLsy/

ونأمل أن يساعد!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top