문제

이게 가능해?

<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 a처럼 행동하는 태그에서 onclick JavaScript 문을 호출하는 HTML에서.

btw 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