<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

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

        來源:懂視網 責編:小采 時間:2020-11-27 20:54:05
        文檔

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

        加載jQuery后$沖突的解決辦法_jquery:網站開發中的javasript部分,現在的開發人員很少有再去手工寫document.getElementById()的了吧,那還不得累死,你還真別說,getElementById還真不好寫,字母還挺多又區分大小寫,一不留神就寫錯了。因此一下諸如用$來實現document.getEleme
        推薦度:
        導讀加載jQuery后$沖突的解決辦法_jquery:網站開發中的javasript部分,現在的開發人員很少有再去手工寫document.getElementById()的了吧,那還不得累死,你還真別說,getElementById還真不好寫,字母還挺多又區分大小寫,一不留神就寫錯了。因此一下諸如用$來實現document.getEleme

        網站開發中的javasript部分,現在的開發人員很少有再去手工寫document.getElementById()的了吧,那還不得累死,你還真別說,getElementById還真不好寫,字母還挺多又區分大小寫,一不留神就寫錯了。因此一下諸如用$來實現document.getElemetnById()就常見了。
        代碼如下:
        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來實現的代碼。
        代碼如下:
        var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) {
        /// 4.5.
        /// 6.7.
        /// 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的簡約、優美,更重要的是被微軟所大力推廣,因此在項目中引入jQuery就顯得自然而必然,jQuery采用$函數來返回一個jQuery對象,也就是$=jQuery,引入jQuery后針對$符號問題必然產生沖突,因此主要有2個思路來解決。
        一、利用jQuery.noConfict()使得$$等于jQuery,代碼為$$=jQuery.noConflict()。這樣需要做一下幾件事
        1、在包含jQuery以及基于jQuery的javasript代碼文件中最后加上$$=jQuery.noConflict(),jQuery的VS智能提示文件(jQueryXXX –vsdoc.js)也最后的window.jQuery = window.$ = jQuery;也改成window.jQuery = window.$$ = jQuery;好了。
        2、基于jQuery的插件和擴展文件最前面加上$=jQuery.noConflict();最后面加上$$=jQuery.noConflict();。
        3、原有的$的實現文件中,最上面加上jQuery.noConflict()表示將$的“權力”交給其他我們自己的js文件,然后文件最后面加上$$=jQuery.noConflict()。
        4、頁面引入js的時候注意順序,jQuery的相關文件放前面,與jQuery不相關的文件放后面。
        這樣做了之后,$還是表示以前的含義,而使用jQuery則直接用jQuery或者$$就可以了。
        優點:只需要改幾個文件就能達到目的。
        缺點:$$使用起來并不順手,以后引入jQuery插件時都需要按步驟2進行操作一次。

        二、將原有的$進行替換,經過考慮后我采用的第二種方法,因為jQuery在以后的項目中將被廣泛使用,使用$$或者jQuery來寫代碼畢竟別扭。考慮到asp.net ajax的兼容性,因此將原有$替換成$get。用Visual Studio來做替換到也不難


        ,但也還需要一點步驟。
        1、首先用$get("替換掉$(",然后是用$get(‘替換掉$(',最后才是$get替換成$。
        2、替換的時候利用VSS的簽出提示功能,一個一個文件進行一定的確認(要是出了差錯那可不是小事)。最后還是出了一些小問題,在同事的協助下也基本解決了。
        3、Visual Studio的替換功能還真是袖里有乾坤,如下的一個Replace in Files東西還真不少。

        Use那個勾上上,可千萬別選Regular expressions,因為在右邊清楚的顯示$表示End of Line。Look In那個當然選Current Project,當然右邊的按鈕按下后可以選多個目錄來框定反問,這個倒是以前完全沒用過的。Look at these file types可以選定特殊的一些文件類型來縮小范圍。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

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

        加載jQuery后$沖突的解決辦法_jquery:網站開發中的javasript部分,現在的開發人員很少有再去手工寫document.getElementById()的了吧,那還不得累死,你還真別說,getElementById還真不好寫,字母還挺多又區分大小寫,一不留神就寫錯了。因此一下諸如用$來實現document.getEleme
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产成人午夜精品免费视频| 国产精品日本亚洲777| 亚洲av永久无码精品秋霞电影影院| 久久久无码精品亚洲日韩蜜桃| 亚洲一区二区三区在线| 曰批免费视频播放免费| 免费国产叼嘿视频大全网站| 无码永久免费AV网站| 亚洲精品二三区伊人久久| 国产精品免费在线播放| 国产卡二卡三卡四卡免费网址 | 一区二区三区在线观看免费| 日本免费久久久久久久网站| 免费观看美女裸体网站| 久久久久久a亚洲欧洲AV| 久久99热精品免费观看牛牛| 亚洲国产av无码精品| 亚洲人成网站色7799| 日韩免费无码一区二区三区| 亚洲免费无码在线| 久久亚洲精品国产精品婷婷 | 亚洲中文字幕无码av| 亚洲精品免费在线观看| 亚洲午夜精品国产电影在线观看| 日韩免费在线中文字幕| 国产精品免费_区二区三区观看| 91亚洲国产在人线播放午夜| 免费无码H肉动漫在线观看麻豆| 亚洲国产成人久久笫一页| XXX2高清在线观看免费视频| 亚洲国产成人精品91久久久| 9久久免费国产精品特黄| 亚洲a在线视频视频| 成年女人18级毛片毛片免费观看| 久久久国产精品亚洲一区| 国产麻豆一精品一AV一免费| 亚洲日韩乱码中文无码蜜桃| 在线看无码的免费网站| 亚洲一区二区三区日本久久九| 成人AV免费网址在线观看| 青青青视频免费观看|