国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

加載jQuery后$沖突的解決辦法

2019-11-21 00:22:10
字體:
供稿:網(wǎng)友
網(wǎng)站開發(fā)中的javasript部分,現(xiàn)在的開發(fā)人員很少有再去手工寫document.getElementById()的了吧,那還不得累死,你還真別說,getElementById還真不好寫,字母還挺多又區(qū)分大小寫,一不留神就寫錯了。因此一下諸如用$來實(shí)現(xiàn)document.getElemetnById()就常見了。
復(fù)制代碼 代碼如下:

function $() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}

微軟的asp.net ajax客戶端框架也有類似用$get來實(shí)現(xiàn)的代碼。
復(fù)制代碼 代碼如下:

var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) {
/// <param name="id" type="String"></param> 4.5.
/// <param name="element" domElement="true" optional="true" mayBeNull="true"></param> 6.7.
/// <returns domElement="true" mayBeNull="true"></returns> 8.9.
var e = Function._validateParams(arguments, [
{name: "id", type: String},
{name: "element", mayBeNull: true, domElement: true, optional: true}
]);
if (e) throw e;
if (!element) return document.getElementById(id);
. if (element.getElementById) return element.getElementById(id);
// Implementation for browsers that don't have getElementById on elements: 28.29.
var nodeQueue = [];
var childNodes = element.childNodes;
for (var i = 0; i < childNodes.length; i++) {
var node = childNodes[i];
if (node.nodeType == 1) {
nodeQueue[nodeQueue.length] = node;
}
}
while (nodeQueue.length) {
node = nodeQueue.shift();
if (node.id == id) {
return node;
}
childNodes = node.childNodes;
for (i = 0; i < childNodes.length; i++) {
node = childNodes[i];
if (node.nodeType == 1) {
nodeQueue[nodeQueue.length] = node;
}
}
}
return null;
}

由于jQuery的簡約、優(yōu)美,更重要的是被微軟所大力推廣,因此在項(xiàng)目中引入jQuery就顯得自然而必然,jQuery采用$函數(shù)來返回一個jQuery對象,也就是$=jQuery,引入jQuery后針對$符號問題必然產(chǎn)生沖突,因此主要有2個思路來解決。
一、利用jQuery.noConfict()使得$$等于jQuery,代碼為$$=jQuery.noConflict()。這樣需要做一下幾件事
1、在包含jQuery以及基于jQuery的javasript代碼文件中最后加上$$=jQuery.noConflict(),jQuery的VS智能提示文件(jQueryXXX 主站蜘蛛池模板: 安义县| 武山县| 寿阳县| 平利县| 潍坊市| 百色市| 昂仁县| 班玛县| 南靖县| 抚顺县| 常德市| 新民市| 渑池县| 富源县| 固安县| 大化| 铜鼓县| 大理市| 金山区| 苏尼特左旗| 普兰县| 南宁市| 英德市| 化德县| 榆社县| 商洛市| 浙江省| 通渭县| 石楼县| 疏附县| 普洱| 镇原县| 宝山区| 黄大仙区| 宝山区| 常山县| 友谊县| 游戏| 江孜县| 上思县| 舒城县|