日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JQueryID選擇器中的不能包含特殊字符的處理

問題的起因是動(dòng)態(tài)生成的Dom 元素的ID中包含“=”導(dǎo)致(你可能會(huì)問為什么會(huì)在ID中有“=”號(hào),我只能說這種情況雖然不多,但是有,比如我的情況,我的ID是某個(gè)字符串Base64編碼之后的字符串)。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了利辛免費(fèi)建站歡迎大家使用!

JQuery中的1.2.6版本至1.3.2版本都有這種情況,下面是測(cè)試的代碼:

view plaincopy to clipboardprint?
 
 
 
     
     
     
 
 
   

 
 
 




   
   
   


   



查看Jquery的源代碼可以看到堆選擇器的解析有這么一段:

view plaincopy to clipboardprint?
var match = quickExpr.exec( selector );  
 
        // Verify a match, and that no context was specified for #id  
        if ( match && (match[1] || !context) ) {  
 
            // HANDLE: $(html) -> $(array)  
            if ( match[1] )  
                selector = jQuery.clean( [ match[1] ], context );  
 
            // HANDLE: $("#id")  
            else {  
                var elem = document.getElementById( match[3] ); 

    var match = quickExpr.exec( selector );

            // Verify a match, and that no context was specified for #id
            if ( match && (match[1] || !context) ) {

                // HANDLE: $(html) -> $(array)
                if ( match[1] )
                    selector = jQuery.clean( [ match[1] ], context );

                // HANDLE: $("#id")
                else {
                    var elem = document.getElementById( match[3] );其中quickExpr是個(gè)正則表達(dá)式對(duì)象

quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,

^#([\w-]+)$是判斷ID選擇符,很明顯只能匹配包括下劃線的任何英文字符數(shù)字和下劃線中劃線。

所以其他的字符如= @等都會(huì)出現(xiàn)問題。你解決的辦法可以修改JQuery代碼中的正則表達(dá)式

如我要添加=號(hào),那么我可以改成quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-\=]+)$/,

或者避免出現(xiàn)=的ID出現(xiàn)。隨便,本文只是為了大家遇到類似問題時(shí)可以快速找到問題。


網(wǎng)站欄目:JQueryID選擇器中的不能包含特殊字符的處理
地址分享:http://www.dlmjj.cn/article/cdgcjpg.html