1.$
針對我一直不理解的為什麼jquery裡面在文件任意位置寫乙個$就可以執行,而原生的必須寫到window.onload裡面才可以,否則就是全域性變數了,當時我也考慮過每次都要寫在window.onload裡面,乙個介面只能寫乙個window.onload呀,這樣豈不是很麻煩?
查了下ready()方法,裡面這樣說
(1)這個方法純粹是對向window.load事件註冊事件的替代方法。通過使用這個方法,可以在dom載入就緒能夠讀取並操縱時(也就是說,不會等待頁面中的等資源載入完畢)立即呼叫你所繫結的函式
(2)而且請確保在 元素的onload事件中沒有註冊函式,否則不會觸發+$(document).ready()事件
(3)可以在同乙個頁面中無限次地使用$(document).ready()事件。其中註冊的函式會按照(**中的)先後順序依次執行。
(4)$(document).ready
可簡寫為$(...)
,同時內部的 jquery **依然使用 $ 作為別名,而不管全域性的 $ 為何。
《我想知道jquery的$如何把所有的函式統一放到window.onload裡面的,而且如何做到在dom載入完成後執行而不是window.onload後執行》
2.解決衝突
有時會有jquery和其他的庫或自己寫的一些公共指令碼檔案一起使用的場景,就有可能會出現$衝突的問題
解決方法很多,最常用的方式是:
jquery.noconflict(); //將$控制權移交出去,以前使用$的地方都改用jquery
jquery(document).ready(function
() );
方法還有很多,摘自網路,方法暫不明確
//方式2var $j=jquery.noconflict(); //
定義快捷方式
$j(document).ready(function
() );
//方式3jquery.noconflict(); //
在函式內部繼續使用$
jquery(function
($) );
//方式4jquery.noconflict(); //
在函式內部繼續使用$另一種方式
(function
($) );
})(jquery);
針對於解決衝突的**檢視了原始碼jquery.noconflict()
jquery.extend(if ( deep && window.jquery ===jquery )
return
jquery;
})
jquery學習筆記
判斷checkbox是否被選中if attr checked true 檢查元素是否存在 if tt length 0 if tt 0 檢查元素是否隱藏 alert dvtest is visible 判斷元素顯示或隱藏狀態 多選框操作 獲取一組radio被選中項的值 var item input ...
Jquery 學習筆記
text 和 val 的區別 text 方法是取得所有匹配元素的內容。結果是由所有匹配元素包含的文字內容組合起來的文字。這個方法對html和xml文件都有效。獲取span,div p之類才用text 或html 方法。例子 b a p text 將得到 ba 單行文字不能用text 方法獲得值,必須...
Jquery學習筆記
1.給一組相同的css加事件,要使用bind,live在新的版本已經過期。testcss bind click function e else 未選中 3.改變checkbox選中狀態 mycheckbox prop checked true mycheckbox prop checked fals...