Meta-Programming
 with JavaScript
       John Resig
     Mozilla / jQuery
Browser Web Dev
       HTML




       DOM




      JavaScript
DOM + HTML
<html>
<head>
<script>
window.onload = function(){
  var test = document.getElementById(“test”);
  test.style.color = ‘green’;
  test.style.display = ‘block’;
};
</script>
</head>
<body>
<div id=”test” style=”display:none;”>
 You have JavaScript enabled!
</div>
</body>
</html>
A JS Library
          HTML




jQuery    DOM




         JavaScript
jQuery
<html>
<head>
<script src=”jquery.js”></script>
<script>
$(function(){
    $(“#test”).css(“color”,”green”).show();
});
</script>
</head>
<body>
<div id=”test” style=”display:none;”>
 You have JavaScript enabled!
</div>
</body>
</html>
Meta Programming
                  HTML




 Meta
        jQuery    DOM
Library

                 JavaScript
jQuery “2”
<html>
<head>
<script src=”jquery.js”></script>
<script src=”jquery2.js”></script>
<script type=”text/jquery”>
#test:
 css “color” ”green”
 show
</script>
</head>
<body>
<div id=”test” style=”display:none;”>
 You have JavaScript enabled!
</div>
</body>
</html>
Demo
http://ejohn.org/apps/jquery2/
More Details

• http://jquery.com/
• http://ejohn.org/apps/jquery2/
•   http://ejohn.org/blog/advancing-javascript-with-libraries/

•   http://yuiblog.com/blog/2007/04/16/video-resig/

Meta Programming with JavaScript