質問

これは可能ですか?

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

それを試してみるます:

http://jsfiddle.net/msLsy/

それが役に立てば幸い!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top