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;
}

JQuery的选择器对控件ID含有特殊字符的解决方法-涨姿势了!的更多相关文章

  1. jquery easyui datebox 时间控件默认显示当前日期的实现方法

    jquery easyui datebox 时间控件默认显示当前日期的实现方法 直接class easyui-datebox后添加一个value="true"就可以

  2. Easyui datebox控件打开页面就验证解决方法

    问题描述: datebox时间控件有些场景下默认值需要为空,但是为空的情况下打开页面会自动验证,十分影响美观. 实现原理: <input class="easyui-databox&q ...

  3. 网页中"IE限制网页访问脚本或ActiveX控件"的提示问题的解决方法

    以前从来没有注意过"IE限制网页访问脚本或ActiveX控件"的提示问题,对于这个小细节问题,虽然感觉很别扭,但一直没考虑解决方法,今天才发现该问题可以轻松解决,以下做个小小记录. ...

  4. 问题-Delphi在多线程中使用其他窗体上的控件,报“尚未调用CoInitialize”解决方法

    1.uses ActiveX; 2. procedure HLCJ.Execute;begin    CoInitialize(nil);    //要使用的控件    CoUninitialize; ...

  5. 关于4A网络安全管控平台控件加载失败的解决方法

    最近电脑重装系统后,到公司登录4A管控平台提示"控件加载失败","无效的参数为:Null","点击资源无任何反映"等等问题 别人的电脑用的好 ...

  6. Oracle更新表字段时内容中含有特殊字符&的解决方法

    今天在做 Oracle表字段更新时出现了特殊字符&,导致无法更新. 这个问题是第二次碰到了,所以在此记录下,以备后用. 举例: update t set col1='A&B' wher ...

  7. ADF控件ID变化引发JS无法定位控件的解决方法

    原文地址:ADF控件ID变化引发JS无法定位控件的解决方法作者:Nicholas JSFF定义的控件ID到了客户端时往往会改变.例如在JSFF中的一个的ID为"ot1",但是当这个 ...

  8. jquery的上传控件uploadly,每行都有一个这样的控件对id选择器的使用

    1.先看看预览图 这个是我的页面,其中如果我没点击添加一行的时候,会把本来有的数据进行循环出来,这个时候每个记录都必须有个上传图片的按钮,但是jquery的uploadly这个控件只是锁定id的,至少 ...

  9. 为什么Jquery对input file控件的onchange事件只生效一次

    今天在做jquery对input file控件的onchange事件进行监听,就一直只生效一次,不知道Jquery为什么对file控件没有做到每次改变触发onchange事件的效果,但是还是有好几种解 ...

随机推荐

  1. 转 JS模块化简单实现

    git示例地址:https://github.com/wufenfen/requireJS-Demo.git

  2. 对TCP/IP网络参数进行调整

    对TCP/IP网络参数进行调整 调整TCP/IP网络参数,可以增强抗SYN Flood的能力,命令如下所示:# echo 'net.ipv4.tcp_syncookies = 1' >> ...

  3. 软工网络15团队作业4——敏捷冲刺日志的集合贴(Alpha阶段)

    Alpha阶段 第 1 篇 Scrum 冲刺博客 第 2 篇 Scrum 冲刺博客 第 3 篇 Scrum 冲刺博客 第 4 篇 Scrum 冲刺博客 第 5 篇 Scrum 冲刺博客 第 6 篇 S ...

  4. PAT 1034 有理数四则运算

    https://pintia.cn/problem-sets/994805260223102976/problems/994805287624491008 本题要求编写程序,计算2个有理数的和.差.积 ...

  5. robotium学习及整理

    一.                      Robotium 简介 Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手 ...

  6. UVA11324_The Largest Clique

    极大团.即求一个最大点集,使得点集中的任意两个点u,v至少存在u->v,或者v->u的路径. 是这样做的,求出所有的联通分量,然后整个图就变成了无环图,把原来若干个点缩点,点权为分量的点数 ...

  7. CF235C_Cyclical Quest

    很好的一个自动机的题目. 给原串,和若干个询问串.求原串里有多少个不同子串可以通过询问串循环移动得到. 有点类似求两个串的lcs,但是灵活一点. 首先我们把询问串长度扩大一倍,去掉最后一个字符.因为最 ...

  8. 一条慢SQL引发的血案

    直接切入正题吧: 通常来说,我们看到的慢查询一般还不致于导致挂站,顶多就是应用响应变慢不过这个恰好今天被我撞见了,一个慢查询把整个网站搞挂了先看看这个SQL张撒样子: # Query_time: 70 ...

  9. java使用Cookie判断用户登录情况

    1.判断是否登录 public boolean isLogin() { Set<Cookie> cookies = this.browser.getCookies(); String JS ...

  10. Power Strings POJ - 2406(next水的一发 || 后缀数组)

    后缀数组专题的 emm.. 就next 循环节../ 有后缀数组也可以做 从小到大枚举长度i,如果长度i的子串刚好是重复了len/i次,应该满足len % i == 0和rank[0] - rank[ ...