;(function($){
var count = 0;
var privateMed = function(){};
//
var methods = {
init:function(){
var param = arguments[0];
return this.each(function(){
$this = $(this);
$this.text(++count);
$this.attr("sth-id","s_"+(count-1));
//在jq对象上绑定dom,在外部无法获取(即无法在其他地方使用$(selector).wrapper再次获得它)
$this.wrapper = $("<a href='#'>"+$this.attr("sth-id")+"</a>").appendTo($this);
//使用原始dom对象则可以
this.con = $("<span>con</span>").get(0);
this.appendChild(this.con);
var ww = $this.wrapper;
var s;
});
}
};
$.fn.sth = function(){
var method = arguments[0];
if((typeof method === 'string') && methods[method]){
method = methods[method];
}else if(!method || (typeof method === 'object')){
method = methods.init;
}else {
$.error("Method '" + method +"' is not found.");
return this;
}
return method.apply(this,arguments);
};
})(jQuery);
//var t1 = $("#t1").sth('destroy',{name:'wuhx',sex:'male'});
$(function(){
var t2 = $(".t").sth();
//t2.aaa = "hello world";
//在jq对象上绑定dom,在外部无法获取(即无法在其他地方使用$(selector).wrapper再次获得它)
var yy = $("#t2");
var yyw = yy.wrapper;//undefine
使用原始dom对象则可以
var w2 = $("#t2").get(0);//
var co =w2.con;//<span>con</span>
$(co).text("new text");
var end;
});
///
//yuany原因:
//common DOM object
var p1 = document.getElementById("t1");
var p2 = document.getElementById("t2");
var p22 = document.getElementById("t2");
var flag1 = (p1 == p2);//false
var flag2 = (p2 == p22);//true
//alert(flag1+","+flag2);
//jquery object
var $p1 = $("#t1");
var $p2 = $("#t2");
var $p22 = $("#t2");
var flag3 = ($p1 == $p2);//false
var flag4 = ($p2 == $p22);//false
//alert(flag3+","+flag4);