JQuery的選擇器對控件ID含有特殊字符的解決方法-漲姿勢了!


1、jquery類庫在我們實際項目中用的很多,大家經常需要根據控件的id,獲取對應的html元素。

     但是:當id含有特殊字符的時候,是不能選中的。

 2、 自己簡單的測試了下,jquery的id選擇器只支持,單詞、阿拉伯數字、下划線、中划線

   其中單詞,包括英文字母、漢字,但是控件id屬於客戶不可見內容,實際中開發人員是不用漢字作為id的,  這里不考慮。


3、提供以下方法,開人人員只要將id轉義后,jquery就能選中了。不用再考特殊字符的問題

 

function escapeJquery(srcString) {
 // 轉義之后的結果
 var escapseResult = srcString;

 // javascript正則表達式中的特殊字符
 var jsSpecialChars = ["\\", "^", "$", "*", "?", ".", "+", "(", ")", "[",
   "]", "|", "{", "}"];

 // jquery中的特殊字符,不是正則表達式中的特殊字符
 var jquerySpecialChars = ["~", "`", "@", "#", "%", "&", "=", "'", "\"",
   ":", ";", "<", ">", ",", "/"];

 for (var i = 0; i < jsSpecialChars.length; i++) {
  escapseResult = escapseResult.replace(new RegExp("\\"
        + jsSpecialChars[i], "g"), "\\"
      + jsSpecialChars[i]);
 }

 for (var i = 0; i < jquerySpecialChars.length; i++) {
  escapseResult = escapseResult.replace(new RegExp(jquerySpecialChars[i],
      "g"), "\\" + jquerySpecialChars[i]);
 }

 return escapseResult;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM