English 中文(简体)
jquery string to function convert
原标题:
  • 时间:2010-01-13 22:03:53
  •  标签:
  • jquery
  • attr

is this possible?

<div id="anything">I will change</div>
<div id="id" jq="$( #anything ).css({background:  red })"></div>

var x =  $( #id ).attr( jq ) ;
jQuery.call(x);

Basically i would like use an attribute jq on any tag to act like a onclick would on html that calls the javascript statements.

btw jQuery.call() is for demonstration purposes it doesn t work...

最佳回答

You would use eval() but what you are doing seems like a really bad idea:

var x = $( #id ).attr( jq );
eval(x);

The reason this is bad, is you are not separating function from structure. HTML is meant to describe structure, not interactivity and function.

JavaScript is meant to provide that interaction and enhancement, but not structure. Using the jQuery inline like that is a violation of that separation. Just food for thought...

问题回答

you can use new Function MDN

body:

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

give it a try:

http://jsfiddle.net/msLsy/

Hope it helps!





相关问题
getGridParam is not a function

The HTML: <a href="javascript:void(0)" id="m1">Get Selected id s</a> The Function: jQuery("#m1").click( function() { var s; s = jQuery("#list4").getGridParam( selarrrow )...

selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

jQuery cycle page with links

I am using the cycle plugin with pager functionality like this : $j( #homebox ) .cycle({ fx: fade , speed: fast , timeout: 9000, pager: #home-thumbs , ...

jquery ui dialog opens only once

I have a button that opens a dialog when clicked. The dialog displays a div that was hidden After I close the dialog by clicking the X icon, the dialog can t be opened again.

jConfirm with this existing code

I need help to use jConfirm with this existing code (php & Jquery & jAlert). function logout() { if (confirm("Do you really want to logout?")) window.location.href = "logout.php"; } ...

Wrap text after particular symbol with jQuery

What I m trying to do, is wrap text into div inside ll tag. It wouldn t be a problem, but I need to wrap text that appears particularly after "-" (minus) including "minus" itself. This is my html: &...

热门标签