天天看點

jquery 常用代碼段彙總

1.Jquery 對象 和 dom 對象的逆轉 / 如何判斷一個對象時 jquery 對象還是 dom 對象
 
不管是jquery對象還是dom對象,都可以互轉的,如果你隻需要jquery對象的話 
function(dom)
{
  var mydom=$(dom);
}
如果你隻需要簡單的dom對象的話 :
function(dom)
{  
  var mydom=dom;
  if(dom[0]) //這裡可以判斷dom[0]是否存在,如果存在肯定是jquery對象
 {
  mydom=dom[0];  //把jquery對象轉成dom對象
}
}
 

2.jQuery 插件 return this.each中this問題解析
 執行個體代碼:
 jQuery.fn.test2= function(){
this.css("background","#ff0");//這裡面的this為jquery對象,而不是dom對象
     return this.each(function(){ //周遊比對的元素,此處的this表示為jquery對象,而不是dom對象
         alert("this"+this+this.innerHTML);    //提示目前對象的dom節點名稱,這裡的this關鍵字都指向一個不同的DOM元素(每次都是一個不同的比對元素)。
     }) 
 }

 jQuery.fn.test2 是 jquery 插件編寫的方法,jQuery.fn隻是jQuery.prototype原型對象的别名,如果把上面的jQuery.fn改成jQuery.prototype是一樣的,即向jQuery對象裡面添加test()方法,這樣以後所有的jQuery對象就都能使用這個test()方法了
  
 上面 return this.each() ,因為自定義一個 test2 插件,如果想實作jquery 方法連寫就需要使用這種寫法。這與 each 方法内部實作有關,如果沒有顯示的 return 語句, each 将傳回調用目前 each 方法的jquery對象。
 jquery方法連寫執行個體:$('#test2').test().hide().height();