测试代码:
<html>
<script src="jquery_1.7.1.js">
</script>
<script>
jQuery.fn.println = function() {
var msg = Array.prototype.join.call(arguments, " ");
this.each(function(){
jQuery(this).append(document.createTextNode(msg)).append("<br/>");
});
return this;
};
jQuery.debug = function() {
var elt = jQuery("#debug");
if( elt.length == 0) {
elt = jQuery("<div id = 'debug'><h1>Debugging output </h1></div>");
jQuery(document.body).append(elt);
}
elt.println.apply(elt,arguments);
};
function start() {
var x = "hello world";
var y = 23;
jQuery.debug("x = ", x , " y = ", y);
}
</script>
<body id = "main" οnlοad="start();">
<h1 id = "header">hello</h1>
</body>
</html>
-
在$的prototype上增加一个println的方法:
-
使用代码创建一个新的text node用于输出debug 内容:
调用prototype上定义的println方法:
输出debug 内容:
最后结果: