画像切り替える&画像何千枚でもコード増やさない方法
質問の回答には、意図的に解りづらく変換した。
http://closure-compiler.appspot.com/home
が、ie 用の条件コンパイルを処理できたらよかったのに。
<!DOCTYPE html> <title></title> <style type="text/css"> #TOGGLE_IMAGE td > img { width:50px; height:50px; } </style> <table id="TOGGLE_IMAGE"> <tr> <td><img src="befor0.jpg" alt="a"> <td><img src="befor1.jpg" alt="b"> <td><img src="befor2.jpg" alt="c"> <tr> <td><img src="befor3.jpg" alt="d"> <td><img src="befor4.jpg" alt="e"> <td><img src="befor5.jpg" alt="f"> </table> <script> //@cc_on @set @v = @_jscript_version var getParent = function (node, type, val) { return (node) ? (val == node[type]) ? node : arguments.callee (node.parentNode, type, val) : null; }; var Handler = function (evt) { var n = evt./*@if (@_jscript) srcElement @else@*/ target /*@end@*/; var s; if ('IMG' !== n.nodeName) return; if (! getParent (n, 'id', 'TOGGLE_IMAGE')) return; if (s = n.getAttribute ('src' /*@, 2 @*/).match (/^(.+?)(\d+\.jpg)$/)) n.alt = n.src = ((s[1] === 'befor') ? 'after': 'befor') + s[2]; }; document./*@if (@v < 5.9) attachEvent( 'on'+ @else@*/addEventListener(/*@end@*/ 'click', Handler, false); </script>