質問
これは可能ですか?
<div id="anything">I will change</div>
<div id="id" jq="$('#anything').css({background: 'red'})"></div>
var x = '$('#id').attr('jq')';
jQuery.call(x);
基本的に私はjavascriptのステートメントを呼び出すHTML上jq
希望のように動作する任意のタグに属性onclick
を使用したいと思います。
ところで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